场景:
有两台服务器 datannode1、datanode2
datanode1 要求能够ssh无密码登陆到datanode2
datanode2 要求能够ssh无密码登陆到datanode1
实现步骤:
1. datanode1 服务器上修改/etc/ssh/sshd_config 配置
Port 22
AddressFamily any
PermitRootLogin no
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
2. 将修改后的/etc/ssh/sshd_config 拷贝到datanode2上
[yh.zeng@datanode1 ~]$ scp -r /etc/ssh/sshd_config yh.zeng@datanode2:/etc/ssh/.
3. 在datanode1服务器上 生成私匙 id_rsa 与 公匙 id_rsa.pub,并将公钥另存为 ~/.ssh/authorized_keys
[yh.zeng@datanode1 .ssh]$ ssh-keygen -t rsa
[yh.zeng@datanode1 .ssh]$ cp id_rsa.pub authorized_keys
**注意:不要输入密码,不知道为什么输入密码就无法实现无密码登陆**
4. 把公匙文件上传到datanode2服务器
[yh.zeng@datanode1 ~]$ ssh-copy-id -i id_rsa.pub yh.zeng@datanode2
5. 验证是否配置成功
[yh.zeng@datanode1 .ssh]$ ssh datanode2
Last login: Sat Jul 23 13:54:24 2016 from 192.168.44.1
6. 在datanode2服务器上,执行步骤1-5的操作,即可实现 datanode2的ssh无密码登陆datanode1