一、修改host文件
1) 用客戶端工具(ssh client或者putty)連接到linux服務器。在root用戶下輸入命令
vi /etc/hosts,用vi編輯hosts文件,如下:
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.160 host01 192.168.1.161 host02 192.168.1.162 host03 192.168.1.163 host04 192.168.1.164 host05
2) 輸入命令:cd .ssh進入rsa公鑰私鑰文件存放的目錄,刪除目錄下的id_rsa,id_rsa.pub文件。
二、在每台機上產生新的rsa公鑰私鑰文件,並統一拷貝到一個authorized_keys文件中
1) 登錄host01,在.ssh目錄下輸入命令:
ssh-keygen -t rsa
,三次回車后,該目錄下將會產生id_rsa,id_rsa.pub這2個文件。其他主機也使用該方式產生密鑰文件。
2) 登錄host01,輸入命令:
cp id_rsa.pub authorized_keys 拷貝重命名
(cat id_rsa.pub >> authorized_keys) 拷貝內容
,將id_rsa.pub公鑰拷貝重命名為authorized_keys文件。
3) 登錄其他主機,將其他主機的公鑰文件內容都拷貝到host01主機上的authorized_keys文件中,命令如下:
ssh-copy-id -i host01 #登錄host02,將公鑰拷貝到host01的authorized_keys中 ssh-copy-id -i host01#登錄host03,將公鑰拷貝到host01的authorized_keys中 ssh-copy-id -i host01#登錄host04,將公鑰拷貝到host01的authorized_keys中 ssh-copy-id -i host01 #登錄host05,將公鑰拷貝到host01的authorized_keys中
三、授權authorized_keys文件
1) 登錄host01,在.ssh目錄下輸入命令:
chmod 600 authorized_keys
,效果如下:
[root@host01 .ssh]# ls -al total 28 drwx------. 2 root root 4096 Oct 24 12:27 . dr-xr-x---. 22 root root 4096 Oct 24 19:20 .. -rw-------. 1 root root 1975 Oct 24 12:27 authorized_keys -rw-------. 1 root root 1975 Oct 24 12:09 authorized_keys_20141024 -rw-------. 1 root root 1675 Oct 24 12:23 id_rsa -rw-r--r--. 1 root root 395 Oct 24 12:23 id_rsa.pub -rw-r--r--. 1 root root 2020 Oct 24 12:10 known_hosts
四、將授權文件分配到其他主機上
1) 登錄host01,將授權文件拷貝到host02、host03...,命令如下:
scp /root/.ssh/authorized_keys host02:/root/.ssh/ #拷貝到host02上 scp /root/.ssh/authorized_keys host03:/root/.ssh/ #拷貝到host03上 scp /root/.ssh/authorized_keys host04:/root/.ssh/ #拷貝到host04上 scp /root/.ssh/authorized_keys host05:/root/.ssh/ #拷貝到host05上
2) 至此,免密碼登錄已經設定完成,注意第一次ssh登錄時需要輸入密碼,再次訪問時即可免密碼登錄。
原文地址:http://www.cnblogs.com/ivan0626/p/4144277.html