概念:
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私房菜
留言列表