这里把node1当为主节点,node2和node3位从节点,实现在主节点免密钥登录从节点。
原理:选择一台主节点机器生成公钥并存放到~/.ssh/authorized_keys中,然后把证书传输到需要免密钥登录的节点,所有含此证书信息的机器都可以被主节点机器免密码ssh访问。
1、修改所有节点的/etc/hosts/
192.168.254.101 node1
192.168.254.102 node2
192.168.254.103 node3
2、在所有主机上创建目录并赋予权限
mkdir /root/.ssh
chmod 700 /root/.ssh
3、在主节点生成公钥
$ cd ~ #进入用户目录
$ ssh-keygen -t rsa -P ""
#这是生成ssh密码的命令,-t 参数表示生成算法,有rsa和dsa两种;-P表示使用的密码,这里使用""空字符串表示无密码。
#回车后,会提示三次输入信息,我们直接回车即可。这样就在~/.ssh目录下生成了几个东西
$ cd ~/.ssh
$ cat id_rsa.pub >> authorized_keys
#这个命令将id_rsa.pub的内容追加到了authorized_keys的内容后面
4、把公钥传送到需要免密钥登录的节点
scp authorized_keys node2:/root/.ssh/
scp authorized_keys node3:/root/.ssh/
备注:在传输的过程中需要去用到node2和node3的密码,不过只使用一次,以后再使用ssh node2或者ssh node3即不在需要密码,实现免密钥登录