前言
因为项目需要,在实验室自己搭个hadoop,需要master免密登录到其他两个slaves服务器,由于没有管理员权限,弄个免密登录都踩坑无数!
问题汇总
按照网上教程已经完全配置好环境,master服务器已经将公钥发到了两个slaves服务器的.ssh的authorized_keys中,不生效主要有以下几个原因。
- .ssh目录文件权限应该设置为700,指令
chmod 700 .ssh
- authorized_keys文件应该设置为600,指令
chmod 600 authorized_keys
- 重要!!!我在这里浪费好长时间。访问的用户目录应该设置为为755!。搭建hadoop时,我在home目录下新建了一个hadoop用户,为此我在home目录下使用指令
chmod 755 hadoop
。 - 可能的原因,我不确定是否有影响,但是都尝试了,将公钥写入到authorized_keys后,及时删除公钥,几个服务器相同。(这一点我觉得应该没影响,可以最后再尝试)
总结
以上就是我遇到的ssh配置完却无法免密登录的几个原因,希望可以帮到大家。之后会写一个比较详细的hadoop搭建流程。供大家一起学习。搭建hadoop流程!!