共计 2558 个字符,预计需要花费 7 分钟才能阅读完成。
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 无密码登录 Linux 服务器集群通过 SSH 无密码登录](https://s.xgss.net/sky/2022-01-21/02aab4317665102a30fc9ee822279d03.png)
备注:如果同时想让 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 无密码登录 Linux 服务器集群通过 SSH 无密码登录](https://s.xgss.net/sky/2022-01-21/e3ff0a7271786c0ef686d8310e09dd3d.png)
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 无密码登录 Linux 服务器集群通过 SSH 无密码登录](https://s.xgss.net/sky/2022-01-21/4dd35cc523d9be6dad3473995c34eb67.png)
备注:如果同时想让 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 无密码登录 Linux 服务器集群通过 SSH 无密码登录](https://s.xgss.net/sky/2022-01-21/0c310fb9a4ceff52c36ae85d38cad144.png)
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 无密码登录 Linux 服务器集群通过 SSH 无密码登录](https://s.xgss.net/sky/2022-01-21/18b03d1af541bb62665ded0af1e3fad4.png)
备注:如果同时想让 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 无密码登录 Linux 服务器集群通过 SSH 无密码登录](https://s.xgss.net/sky/2022-01-21/7f7258c623add1e9b86f792e7bd0bb2c.png)
【结束】
如果要退出 ssh 远程登录,只需要输入命令 exit,
【总结】
如上面方法,我们知道配置 Linux 服务器集群之间能够互相无密码 ssh 登录:
需要在 n 台机器之间安装 ssh 证书和复制公钥,这个复制公钥的动作次数是 (n)(n-1) 次数。
很显然是很大的体力活,这个急需寻找更简单的办法或方案。
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-04/142627.htm
正文完
星哥说事-微信公众号
![post-qrcode](https://www.xgss.net/wp-content/uploads/2023/07/二维码-微信公众号256x256.jpg)