免密码登录时两个机器的普通用户名都要相同,这里都是dream361 ,主机名可以不同,这里的主机名都是ubuntu

1.目前有两台机器master 和 slave


在这两台机器上都安装并启动ssh服务


dream361@master:~$ apt-get install openssh-server

2.在master上生成公钥,

网上有的在命令行加上-P参数 我试了好多次都不行


dream361@master:~$ ssh-keygen -t rsa

回车三次即可


3.在master上将公钥发送到目的主机slave

注意:发送这个文件前 ,把slave的.ssh目录干掉然后重新生成

dream361@master:~$ scp ~/.ssh/id_rsa.pub dream361@192.168.5.5:/home/dream361/id_rsa.pub

4.在master上登录到slave,此时需要输入密码


dream361@master:~$ ssh 192.168.5.5

5.在slave上将 master发来的公钥保存到.ssh/authorized_keys


dream361@slave:~$ cat id_rsa.pub >> ~/.ssh/authorized_keys

6.重启slave的ssh服务

dream361@slave:~$ service ssh restart

7.重启master的ssh服务

dream361@master:~$ service ssh restart

8.到这里应该可以免密码登录,如果仍旧失败,或许需要修改文件权限(包括master、slave)

chmod 700 ~/.ssh
chmod 664 ~/.ssh/authorized_keys