这里以三台服务器为例:master、slave1、slave2
给3个机器生成秘钥文件
以master为例,执行命令,生成空字符串的秘钥(后面要使用公钥),命令是:
1. [root@master .ssh]# ssh-keygen -t rsa -P ''
2. ls /root/.ssh/
使用同样的方法为slave1和slave2生成秘钥(命令完全相同,不用做如何修改):
1. [root@slave1 ~]# ssh-keygen -t rsa -P ''
1. [root@slave2 ~]# ssh-keygen -t rsa -P ''
登录master机器,输入命令:
1. [root@master ~]# cd /root/.ssh
2. [root@master .ssh]# cp id_rsa.pub authorized_keys
将id_rsa.pub公钥拷贝重命名为authorized_keys文件。
登录slave1和slave2机器,将其他主机的公钥文件内容都拷贝到master主机上的authorized_keys文件中,命令如下:
1. #登录slave1,将公钥拷贝到master的authorized_keys中
2. [root@slave1 ~]# ssh-copy-id -i master
1. #登录slave2,将公钥拷贝到master的authorized_keys中
2. [root@slave2 ~]# ssh-copy-id -i master
授权authorized_keys文件
登录master,在.ssh目录下输入命令:
1. [root@master .ssh]# cd /root/.ssh
2. [root@master .ssh]# chmod 600 authorized_keys
将authorized_keys文件复制到其他机器
1. [root@master .ssh]# scp /root/.ssh/authorized_keys root@slave1:/root/.ssh/authorized_keys
2. [root@master .ssh]# scp /root/.ssh/authorized_keys root@slave2:/root/.ssh/authorized_keys
注意第一次ssh登录时需要输入密码,再次访问时即可免密码登录。
测试连接成功的情况:
在每台机器上机器上运行:
1. [root@master ~]# ssh master date
2. 2017年 12月 10日 星期日 20:58:31 CST
3. [root@master ~]# ssh slave1 date
4. 2017年 12月 10日 星期日 20:58:31 CST
5. [root@master ~]# ssh slave2 date
6. 2017年 12月 10日 星期日 20:58:43 CST
至此,免密码登录已经设定完成!