適用系統:MAC OS、LINUX以及大部分基於UNIX的系統
1.客戶機生成RSA密鑰
ssh-keygen -t rsa #各項配置保持默認即可
ls ~/.ssh
查看是否有id_rsa(私鑰)和id_rsa.pub(公鑰)兩個文件。
2.上傳公鑰到服務器
scp ~/.ssh/id_rsa.pub [email protected]:/root/.ssh/
#將root替換成要免密登錄的用戶,將abc.com換成服務器地址,將/root/替換成登錄用戶的home路徑
#執行scp之前先要確定home路徑下有.ssh目錄,如果沒有則手動創建一個
#私鑰不用上傳
3.將公鑰加入到authorized_keys
先用ssh登錄到服務器。
cd ~/.ssh
cat /root/.ssh/id_rsa.pub >> authorized_keys
至此一般就可以免密登錄了。
4.使用別名連接服務器
免密登錄也是爲了方便,何不再方便一點,每次連接服務器時只使用別名來連接。
以下是客戶機上的操作:
vi ~/.ssh/config
加入下面的內容
Host abc #起的別名
HostName abc.com #服務器的域名或者ip地址
User root #登錄服務器的用戶名
Port 22 #登錄服務器的端口號
接下來,只要使用ssh abc命令就可以登錄了。
5.注意事項
如果按照上述配置,還是無法免密登錄,請檢查以下配置(服務器端)。
(1)用戶目錄權限爲755或者700,不能是77x
(2).ssh目錄權限爲755或者700
(3)rsa_id.pub和authorized_keys權限爲644
(4).ssh目錄及下面的文件,它們所屬用戶和用戶組應該爲要免密登錄的用戶和用戶組