hadoop部署需要ssh免密码登录.
在官方网站上就两句话:
1.$ ssh-keygen -t rsa -P ''
2.$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
但是在我的机器上出现了很多的问题,导致一直ssh还是需要密码,在这里一一写下:
1.authorized_keys的权限必须是600的.而生成默认的不是
所以使用一下命令:
$ chmod 600 authorized_keys
顺带,还有.ssh这个文件夹的目录的权限听说也得是700,但是我看了下,我的默认就是700.
2.弄完了后测试ssh localhost
还是要密码,以前也没注意是什么原因,直接百度"ssh配置后还需要密码",出来一大堆,试了全不行.
几天后发现不能乱来,于是去百度"Agent admitted failure to sign using the key"
这个是的答案似乎有些接近了:
网上的情况都是跟我这个类似的,应该说就是这个问题..解决方法是使用ssh-add 命令
但是使用ssh-add的时候又遇到了问题:
于是去查找这句话的解决方法:
执行ssh-agent bash即可
然后再执行
ssh-add id_rsa
这个时候再ssh localhost 成功.
3.总结:
1.$ ssh-keygen -t rsa -P ''
2.$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3.$chmod 600 ~/.ssh/authorized_keys
4.ssh localhost 成功则完成,如果显示跟我一样的错误>>5
5.ssh-add ~/.ssh/id_rsa 成功则再尝试ssh localhost ,跟我一样的错误原因>>6
6.ssh-agent bash 然后继续>>5