hadoop1、hadoop2 相互免密
hadoop1上:
- 设置免密码登录SSH
生成秘钥,切换至/root/.ssh/
ssh-keygen -t rsa
将秘钥发至远程服务器:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.1.17.4
或者写hostname
ssh-copy-id -i ~/.ssh/id_rsa.pub root@hadoop4
报如下日志,表示成功
另外执行可能会出现如下错误
[root@hadoop9 .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@hadoop7
-bash: ssh-copy-id: command not found
解决方式:
cat ~/.ssh/id_*.pub | ssh root@hadoop10 'cat >> .ssh/authorized_keys'
让hadoop10上的秘钥,直接写到本节点上
然后ssh hadoop2 ,需要再次输入密码,当出现这个问题的时候,需要查看ssh的日志,
linux下登录日志在下面的目录里:
cd /var/log
查看ssh用户的登录日志:
less secure
hadoop1和hadoop2都看,发现hadoop2下面的错误
发现是权限的问题,百度一下,是权限问题了
chmod 700 /root
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
再次ssh hadoop2 可以了,免密成功
问题关键是要找到ssh的日志,知道错在哪里