概念:

1.在 Client 端上建立 Public Key 跟 Private Key (利用 ssh-keygen 這個指令)
2.將 Private Key 放在 Client 端的家目錄,即 $HOME/.ssh/ , 並且修改權限為只有該 User 為可讀的狀態
3.將 Public Key 放在任何一個您想要登入 Server 端主機的某 User 的家目錄內之 .ssh/ 裡面的認證檔案即可

假設前提:

Server 端為 linux.dmtsai.tw , IP: 192.168.0.2 ,使用 test 這個帳號
Client 端為 test2.dmtsai.tw , IP: 192.168.0.100 ,使用test2 這個帳號;要用來登入 192.168.0.2 這部 Server 的 test 這個帳號


步驟:

1.直接在 Client 端上以 test2 這個帳號,使用 ssh-keygen 這個指令來進行 Key 的產生
-----------------------------------------------------------------------------------------------------------------------
[test2@test2 ~]$ ssh-keygen -t rsa  <==這個步驟在產生 Key pair
Generating public/private rsa key pair.
Enter file in which to save the key (/home/test2/.ssh/id_rsa): <== Enter
Enter passphrase (empty for no passphrase): <== Enter
Enter same passphrase again:  <== Enter
Your identification has been saved in /home/test2/.ssh/id_rsa. <==這是私鑰
Your public key has been saved in /home/test2/.ssh/id_rsa.pub. <==這是公鑰
The key fingerprint is:
c4:ae:d9:02:d1:ba:06:5d:07:e6:92:e6:6a:c8:14:ba
test2@test2.linux.org

# 注意: -t 指的是『使用何種密碼演算方式?』由於我們使用 RSA ,
# 所以直接輸入 -t rsa 即可建立兩支 Keys !
# 此外,建立的兩把 Keys 都放置在家目錄下的 .ssh 這個目錄中!
# 查看一下這兩把 Keys 吧!

[test2@test2 ~]$ ll ~/.ssh
total 12
-rw-------    1 test2    test2         887 Nov 12 22:36 id_rsa
-rw-r--r--    1 test2    test2         233 Nov 12 22:36 id_rsa.pub
-rw-r--r--    1 test2    test2         222 Oct 31 11:20 known_hosts
-----------------------------------------------------------------------------------------------------------------------

2.在 Client 端放置私鑰

預設私鑰就放在 $HOME/.ssh/id_rsa 中,所以什麼都不用做

3.在 Server 端放置可以登入的公鑰
-----------------------------------------------------------------------------------------------------------------------

3.1. 先在 Client 端以 sftp 將公鑰丟到 test 上面去
[test2@test2 ~]$ cd ~/.ssh
[test2@test2 .ssh]$ scp id_rsa.pub
test@192.168.0.2:~/
test@192.168.0.2's password:
id_rsa.pub          100%  233     0.2KB/s   00:00

-----------------------------------------------------------------------------------------------------------------------

3.2. 到 Server 上面,將公鑰轉存到 authorized_keys 檔案中
[test@linux ~]$ cd ~/.ssh
[test@linux .ssh]$ cat ../id_rsa.pub >> authorized_keys
-----------------------------------------------------------------------------------------------------------------------

由於 authorized_keys 可以保存相當多的公鑰內容,因此使用 >> 的方式來將 Client 端的公鑰新增到該檔案內!

做完後, test2 就可以直接在 test2.dmtsai.tw 以
----------------------------------------------------------
[test2@test2 ~]$ ssh
test@linux.dmtsai.tw
----------------------------------------------------------
登入不需密碼

要記得的是:

Client 必須製作出 Public & Private 這兩把 keys,且 Private 需放到 ~/.ssh/ 內
Server 必須要有 Public Key ,且放置到使用者家目錄下的 ~/.ssh/authorized_keys

出處:鳥哥的Linux私房菜

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 linux988 的頭像
    linux988

    Linux Fedora CentOS Ubuntu RedHat Alex

    linux988 發表在 痞客邦 留言(1) 人氣()