CentOS SSH免密码登陆(SSH互信)

在作集群的时候是须要SSH互信的,另外也利于在另外一节点操做方便node

1.Node1中生成公钥和私钥对bash

[root@Node1~]# ssh-keygen -t rsa
Generatingpublic/private rsa key pair.
Enterfile in which to save the key (/root/.ssh/id_rsa): 回车
Enterpassphrase (empty for no passphrase): 回车
Entersame passphrase again: 回车
Youridentification has been saved in /root/.ssh/id_rsa.
Yourpublic key has been saved in /root/.ssh/id_rsa.pub.

这期间一直按回车便可,这样公钥/私钥对就建立完毕ssh

2.Node2上建立.ssh目录并设置权限ide

[root@Node2~]# mkdir /root/.ssh/
[root@Node2~]# chmod 700 .ssh/

3.将公钥传送到Node2上,这样在Node1上就能够免密码登陆Node2了spa

[root@Node1~]# scp .ssh/id_rsa.pub Node2:.ssh/authorized_keys
root@Node2'spassword: 输入Node2(192.168.100.223)的root密码
id_rsa.pub                                   100%  392     0.4KB/s   00:00

或者也能够直接使用
xml

[root@node1 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@node2

如今咱们已经能够在Node1上免密码登陆Node2了it

若是出现io

[root@Node2 .ssh]# ssh -copy -id -i id_rsa.pub root@Node1
-bash: ssh: command not found
或
[root@Node2 .ssh]# scp id_rsa.pub Node1:.ssh/authorized_keys
-bash: scp: command not found

则是说明未安装openssh-clients
class

执行集群

yum -y install openssh-clients

这时最好在Node2上执行:

[root@node2 ~]# touch /root/.ssh/authorized_keys2  (若是已经存在这个文件, 跳过这条)
[root@node2 ~]# cat /root/.ssh/authorized_keys   >> /root/.ssh/authorized_keys2 (将authorized_keys的内容追加到 authorized_keys2 中)

这里在Node2上新建authorized_keys2文件,并将authorized_keys文件追加到authorized_keys2文件里是为了若是须要在多台机器上进行互信,则可能会将authorized_keys文件覆盖,如今直接将全部公钥都放在一个文件里头


另外再在Node2上也生成公钥和私钥对,将公钥传至Node1上