在搭建Hadoop环境的时候,需要设置一下免密码登录。
之前做过一次免密是成功的,最近又做了一次,居然不成功。。。很郁闷,很纳闷,
下面把我的操作步骤和经验分享一下:
系统:虚拟机CentOS 6.5
用户名:hadoop
域名:hadoop1
默认情况下OpenSSH是已经安装好的。
操作步骤:
1.生成公钥私钥
切换到用户文件夹
/home/hadoop/.ssh 或 ~/.ssh
注意:.ssh文件是隐藏文件,默认情况下是看不到文件夹的,可以使用命令"ll -a"查看(老司机请忽略)。
使用下面命令生成公钥私钥
命令:ssh-keygen -t rsa -P ''
注意:上面的命令的空格不要多了少了。
将生成的公钥输出到新建文件authorized_keys 文件中(该文件名就是配置文件中配置的名称AuthorizedKeysFile .ssh/authorized_keys )
命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
2.给文件赋正确的权限
修改权限命令:chmod xxx filename
注意:文件权限不能给太大,否则免密登录会失败(我就是把私钥的权限给了777导致免密失败的)。
3.修改SSH配置文件
配置文件目录位置:/etc/ssh/sshd_config
命令:vi sshd_config
修改内容:将配置文件中下面三行注释放开,并修改成如下:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
4.重启SSH服务
设置完后,需要重启SSH服务
命令:service sshd restart
注意:可能用户权限不足,可以切换到root用户执行重启命令
查看服务状态:service sshd status
5.验证SSH免密
命令:ssh hadoop1
下面是成功的情况:
[hadoop@hadoop1 .ssh]$ ssh hadoop1
Last login: Mon Dec 26 21:33:42 2016 from hadoop1