Linux服务器集群通过SSH无密码登录

SSH 无密码授权访问slave集群机器

1. 安装SSH,所有集群机器,都要安装SSH
环境介绍: 

Master : CNT06BIG01 192.168.3.61

SLAVE 1: CNT06BIG02 192.168.3.62

SLAVE 2: CNT06BIG03 192.168.3.63

# yum install ssh

2. 分别在master/slave 1/slave 2机器上制作密钥和公钥,分别执行如下命令

制作密钥

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

制作公钥,将公钥导入authorized_keys

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

设置本机无密码登录,执行命令后,选择yes

# ssh localhost 或 ssh 机器名称 或 ssh 机器IP



3. 在master机器(CNT06BIG01)上,执行命令,分发公钥给Slave 1/2机器

3.1 分发给SLAVE 1: CNT06BIG02

在master机器(CNT06BIG01)上,进入~/.ssh目录,执行如下命令

# scp authorized_keys root@CNT06BIG02:~/.ssh/authorized_keys_from_master

然后在SLAVE 01机器(CNT06BIG02)上,进入~/.ssh目录,执行如下命令

# cat authorized_keys_from_master  >>  authorized_keys

最后,就可以在Mater机器(CNT06BIG01)上面,无密码登录SLAVE 01机器(CNT06BIG02)

# ssh CNT06BIG02

效果如下图

Linux服务器集群通过SSH无密码登录

 

备注:如果同时想让SLAVE 01(CNT06BIG02)可以无密码登录master(CNT06BIG01),只需执行如下步骤

在SLAVE 01机器(CNT06BIG02)上,进入~/.ssh目录,执行如下命令

# scp authorized_keys root@CNT06BIG01:~/.ssh/authorized_keys_from_master

然后master机器(CNT06BIG01)上,进入~/.ssh目录,执行如下命令

# cat authorized_keys_from_master  >>  authorized_keys

最后,就可以SLAVE 01机器(CNT06BIG02)上,无密码登录master机器(CNT06BIG01)上

# ssh CNT06BIG01

效果如下图

Linux服务器集群通过SSH无密码登录



3.2 分发给SLAVE 2: CNT06BIG03

在master机器(CNT06BIG01)上,进入~/.ssh目录,执行如下命令

# scp authorized_keys root@CNT06BIG03:~/.ssh/authorized_keys_from_master

然后在SLAVE 02机器(CNT06BIG03)上,进入~/.ssh目录,执行如下命令

# cat authorized_keys_from_master  >>  authorized_keys

最后,就可以在Mater机器(CNT06BIG01)上面,无密码登录SLAVE 02机器(CNT06BIG03)

# ssh CNT06BIG03

Linux服务器集群通过SSH无密码登录

 

备注:如果同时想让SLAVE 02(CNT06BIG03)可以无密码登录master(CNT06BIG01),只需执行如下步骤

在SLAVE 02机器(CNT06BIG03)上,进入~/.ssh目录,执行如下命令

# scp authorized_keys root@CNT06BIG01:~/.ssh/authorized_keys_from_master

然后master机器(CNT06BIG01)上,进入~/.ssh目录,执行如下命令

# cat authorized_keys_from_master  >>  authorized_keys

最后,就可以SLAVE 02机器(CNT06BIG03)上,无密码登录master机器(CNT06BIG01)上

# ssh CNT06BIG01

效果如下图

Linux服务器集群通过SSH无密码登录

 

 

3.3 如果让SLAVE 01 (CNT06BIG02)和 SLAVE 02 (CNT06BIG03)之间可以无密码登录,操作步骤如上 3.1 或 3.2。

在SLAVE 01 (CNT06BIG02)上,进入~/.ssh目录,执行如下命令

# scp authorized_keys root@CNT06BIG03:~/.ssh/authorized_keys_from_master

然后在SLAVE 02机器(CNT06BIG03)上,进入~/.ssh目录,执行如下命令

# cat authorized_keys_from_master  >>  authorized_keys

最后,就可以在SLAVE 01 (CNT06BIG02)上面,无密码登录SLAVE 02机器(CNT06BIG03)

# ssh CNT06BIG03

效果如下图

Linux服务器集群通过SSH无密码登录

 

备注:如果同时想让SLAVE 02(CNT06BIG03)可以无密码登录SLAVE 01(CNT06BIG02),只需执行如下步骤

在SLAVE 02机器(CNT06BIG03)上,进入~/.ssh目录,执行如下命令

# scp authorized_keys root@CNT06BIG02:~/.ssh/authorized_keys_from_master

然后SLAVE 01(CNT06BIG02)上,进入~/.ssh目录,执行如下命令

# cat authorized_keys_from_master  >>  authorized_keys

最后,就可以SLAVE 02机器(CNT06BIG03)上,无密码登录master机器(CNT06BIG01)上

# ssh CNT06BIG02

效果如下图

Linux服务器集群通过SSH无密码登录

 

【结束】

如果要退出ssh远程登录,只需要输入命令exit,

 

【总结】

如上面方法,我们知道配置Linux服务器集群之间能够互相无密码ssh登录:

需要在n台机器之间安装ssh证书和复制公钥,这个复制公钥的动作次数是(n)(n-1)次数。

很显然是很大的体力活,这个急需寻找更简单的办法或方案。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/4e016c1b0e3e6c7352c62734dda6387c.html