配置免密登陆
前提:配置好了ssh
1.su hadoop(切换为hadoop用户)
2.cd 到.ssh目录下
3.输入命令 ssh-keygen -t rsa
4.cat id_rsa.pub # 查看生成的公钥
5.cat id_rsa.pub >> authorized_keys # 加入授权
6.测试 ssh localhost 不再提示输入密码则成功
如何还不行,那么去查看SSH的日志
日志显示:
Authentication refused: bad ownership or modes for directory /home/hadoop
这个说明文件的权限配置有问题
解决办法:
SSH对公钥、私钥的权限和所有权的要求是非常严格的,总结如下:
1、下面两个目录的所有权必须是user,所属组也应该是user,权限必须为700
\home\user
\home\user.ssh
2、下面公钥文件的所有权必须是user,所属组也应该是user,权限必须为644
\home\user.ssh\authorized_keys
3、下面私钥文件的所有权必须是user,所属组也应该是user,权限必须是600
\home\user.ssh\id_rsa
修改权限的指令名称 : chmod
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。 r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
之后就可以ssh免密登陆了