【原创】Linux服务器集群通过SSH无密码登录,服务器集群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 效果如下图
 图片   备注:如果同时想让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 效果如下图 图片

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 图片   备注:如果同时想让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 效果如下图 图片     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 效果如下图 图片   备注:如果同时想让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 效果如下图 图片   【结束】 如果要退出ssh远程登录,只需要输入命令exit,   【总结】 如上面方法,我们知道配置Linux服务器集群之间能够互相无密码ssh登录: 需要在n台机器之间安装ssh证书和复制公钥,这个复制公钥的动作次数是(n)(n-1)次数。 很显然是很大的体力活,这个急需寻找更简单的办法或方案。


【本人原创,欢迎交流和分享技术,转载请附上如下内容:
如果你觉得这篇文章对你有帮助,请记得帮我点赞, 谢谢!
作者:kevin【转自】http://www.cnblogs.com/itshare/ 

相关内容