先说下环境:CentOS7 X64.
最近折腾本地Hadoop集群环境,在免密的登录的时候,再次遇到以前的问题,虽然最后解决,但总感觉抓不到关键点,必须找一个稳定可行且简单的方式。
正常而言,很多做免密登录,大概有下面几种方式:
#最粗暴的方式
cp id_rsa.pub authorized_keys
#最粗暴的方式二
scp id_rsa.pub hadoop@slave1:~/.ssh/authorized_keys
#追加法
cat id_rsa.pub >> authorized_keys
但上面几种,一般都需要进行authorized_keys文件的权限。稍有不慎,各种莫名其妙的问题就来了。
这篇文章不是为了探索各种方式,所以下面直接给出靠谱的,以及出现问题后怎么处理。
#如果已经出现问题,而且无法解决,那么直接执行如下命令即可(删除.ssh目录,因为这个目录的权限和成功与否密切相关):
rm -rf ~/.ssh
#重新生成密钥文件(途中一直回车即可,无需输入任何内容)
ssh-keygen -t rsa
#生成完成后,我们准备做免密登录(途中需要输入一次密码)
ssh-copy-id hadoop@master
#验证(通过这种形式,我们能够避免一切权限相关的问题,轻松实现免密登录,无坑、简单,所以在免密登录的时候,强烈推荐ssh-copy-id,而不是scp或者cat之类的)
ssh hadoop@master
如果你需要更多文档,参照:
https://www.ssh.com/ssh/copy-id
或者:man ssh-copy-id
转载至链接:https://my.oschina.net/vright/blog/1840058