10. 节点间免密登陆

2020-03-05  本文已影响0人  逸章

实现节点之间免密服务原理:

通过把所有节点的公钥写入authorized_keys文件中,再把这个文件传输给每一台节点,此时所有节点都有了其他节点的公钥,则登录时就不需要输入密码

在每台主机上输入

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

创建一个无密码的公钥,-t是类型的意思,dsa是生成的密钥类型,-P是密码,’’表示无密码,-f后是秘钥生成后保存的位置

创建完成后,会出现两个文件:

id_dsa 存放私钥
id_dsa.pub 存放公钥

输入

 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 

将公钥id_dsa.pub添加进authorized_keys

执行后会创建authorized_keys文件,这个文件用来放其他节点的公钥。

在非master节点上输入

ssh-copy-id -i ~/.ssh/id_dsa.pub master

将自己的公钥传输给master节点。

这时,master节点拥有所有节点的公钥。

在master中输入

scp -r /用户家目录/.ssh/authorized_keys 用户@主机名:/对应用户的家目录/.ssh/

scp -r /home/hadoop/.ssh/authorized_keys root@node1:/home/hadoop/.ssh/

scp -r /home/hadoop/.ssh/authorized_keys root@node2:/home/hadoop/.ssh/

scp -r /home/hadoop/.ssh/authorized_keys root@node3:/home/hadoop/.ssh/

在每一台主机上输入

chmod 600 authorized_keys

修改文件权限

重启服务

service sshd restart

此时每个节点都保存了所有的公钥,节点之间也就可以ssh免密登录了(第一次仍然需要密码)

上一篇下一篇

猜你喜欢

热点阅读