一、修改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