您的位置:首页 > 其它

redhat6.2下的ssh密钥免密码登录(原创)

2016-07-12 20:54 197 查看
这个是我自己写的,鼓励转载,请说明转载地址:http://www.cnblogs.com/nucdy/p/5664840.html

在进行hadoop的免密码的登录操作是,老是发生no route等错误,这个源于是查了一下午,原因是ssh免密码没有做好

下面我说一下我这个是如何做到免密码的问题

在master 的 hadoop用户下:

ssh-keygen -t rsa

连续敲3个回车,会出现一个带有框框的图画

自后:cd .ssh

cp id_rsa.pub authorized_keys

完成后,

切换到其他datanode 节点host6上

cat ~/.ssh/id_*.pub | ssh hadoop@host2 'cat >> .ssh/host6'

其中:host6是你起得文件名字

在切换到一个节点(host8)上,执行同样的命令

cat ~/.ssh/id_*.pub | ssh hadoop@host2 'cat >> .ssh/host6'

这样就讲host6和host8上的公钥给传到的了master(host2)上了,看结果



而后在maste上(我的是host2)执行:

cat host8 >>authorized_keys

cat host6 >>authorized_keys

这样将host6和host8的公钥追加给了authorized_keys

在其后,执行

ssh-copy-id -i .ssh/id_rsa.pub hadoop@host6

ssh-copy-id -i .ssh/id_rsa.pub hadoop@host8

这样就实现了host2、host6、host8的直接的免密码登录

注意:

A. 从客户机拷贝过来的 id_rsa.pub 在服务机上其实就是各临时文件,所以名字随便起,如果有多个客户机,那可以后面加序号区别,不过也不用这么麻烦,因为按照上面的命令操作完后就可以删掉它了。

B. authorized_keys 这个名字不能改,我试过了,服务机只认这个名字的文件,所以加入有10个客户机,你就得把这10个客户机的密钥文件都输入到这个文件里,所以这里必须用 >> ,而不能用 >

C.文件夹“.ssh”中的三个文件的权限,是有要求的,“自己之外的任何人对每个文件都没有写权限”。另外,“.ssh”文件夹是-rw-r--r--.权限。如果权限有问题,会造成SSH访问失败

注意:使用命令ssh时,一定要观察主机名的变化。很多同学在操作ssh时,由于大量的使用ssh登录退出,忘记自己目前在哪台机器了,执行了大量错误的操作。

另外,如果多次执行ssh,每次都要输入确认信息的话,说明配置失败了。可以删除文件夹“.ssh”,重新配置。也可以重启虚拟机再配置。只要严格按照上面的步骤操作,保证能够成功的。

如果还搞不定,给你个绝招” 删除/etc/udev/rules.d/70-persistent-net.rules文件,重启系统”。

配置出错,可以查看/var/log/secure日志文件,找原因。

希望对你开发环境搭建有帮助,我的就是按照上面完成的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: