SSH免密鑰登錄很簡單,只需三四步就能部署完成。
測試環境:CentOS 6.6
步驟如下:
1. 在主機A上生成公鑰和密鑰!
[root@Nginx-Master ~]# ssh-keygen -t rsa #一直回車即可!
2. 上一步執行完成後,會在你當前登錄的用戶的宿主目錄下生成一個.ssh的目錄,在.ssh目錄下會生成兩個文件(id_rsa和id_rsa.pub)私鑰和公鑰
3. 將公鑰(id_rsa.pub)移動到要免密碼登錄的服務器的用戶家目錄下的.ssh目錄下並改名爲authorized_keys
[root@Nginx-Master ~]# scp ~/.ssh/id_rsa.pub user@serverBip:/home/user/.ssh/authorized_keys
Remarks: 如果需要免密鑰登錄的服務器的用戶家目錄下的.ssh目錄下已經有authorized_keys這個文件了,那麼就將公鑰追加到這個文件中,如果覆蓋了裏面的內容就更改了!(此內容只適合多臺服務器免密鑰登錄這臺服務器)
4. 給目錄及文件權限:
chmod 700 /home/user/.ssh
chmod 600 /home/user/.ssh/authorized_keys
5. 測試
使用serverA SSH serverB,沒提示輸入密碼及成功,第一次登錄會提示讓你輸入"YES"!
Remarks: 如果您的需求是:下面有N多臺服務器需要免密鑰登錄,那麼這個公鑰文件會要SCP多少回了?所有您可以在你的serverA上部署下WEB服務,然後把公鑰拷貝到網站根目錄下,在其他的服務器上通過WEB來下載這個公鑰,然後可以寫一個很簡單很簡單的腳本來執行步驟3、4!