Hadoop集群搭建中ssh免密登录
参考:
解决 Agent admitted failure to sign using the key 问题 with ssh
1、切换到root用户,修改ssh的配置文件,去掉默认注释,开启SSH验证功能(master和slave都要进行此操作)
vim /etc/ssh/sshd_config
找到以下内容:
修改为:
2、重新启动ssh服务(master和slave都要进行此操作)
/sbin/service sshd restart
3、打开master节点,在hadoop用户下执行以下操作:产生私钥和公钥
ssh-keygen -t rsa -P ''
4、将上一步产生的公钥(.pub)远程复制到slave节点中:
scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/
我的slave节点的IP为119.168.1.122,所以:
scp ~/.ssh/id_rsa.pub hadoop@192.168.1.122:~/
5、登录slave节点,切换到hadoop用户,将接收到的公钥复制到本地的权限验证组里面去:
接收到的公钥文件:右下角的id_rsa.pub就是公钥文件。
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
6、打开master节点,输入:
ssh slave03.hadoop
仍然需要密码,输入exit退出ssh登录
7、打开slave节点,切换到当前用户的主目录下(cd /home/hadoop),执行:
chmod 600 .ssh/authorized_keys
更改文件的权限。
再次打开master节点,检测ssh免密登录:仍然需要密码。
8、打开master节点,切换到hadoop用户,执行以下操作:
ssh-add ~/.ssh/id_rsa
将私钥加入到认证文件中。再次检测绵密登录:
操作成功。