多集群服务器ssh无密码登录

来源:互联网 发布:php实例化是什么意思 编辑:程序博客网 时间:2024/04/29 04:39

上周在倍靖学长的指导下搞了一下ssh无密码登录

中心思想就是从一台机器A出发,把A的rsa密钥对的公钥id_rsa.pub放进一个公共的公钥列表authorized_keys中。把这个authorized_keys往下传递给B,把B的rsa公钥放进authorized_keys中。一直往下传到最后一台机器后,把完整的authorized_keys分发给集群中所有的服务器。每台机器都有了所有其它机器的公钥,就可以无密码登录了其它机器了。

步骤

1、在机器A上生成rsa密钥对

ssh-keygen -t rsa
完了之后就一直回车就可以了

2、进入到.ssh文件夹把公钥id_rsa.pub加进authorized_keys

cd .sshcat id_rsa.pub >> authorized_keys
需要注意给authorize_keys改下权限以防无法登录问题

chmod 600 authorized_keys

3、把authorized_keys复制给机器B

scp authorized_keys root@10.10.108.70:~/.ssh
root可以改成用户名

10.10.108.70是B的IP地址

之后会让你输入passwd,不赘述

4、按照这种方式一直到最后一台机器N,完整的authorized_keys就有了,可以分发给其它机器了。

我们创建一个我们要处理的服务器IP列表iplist

vi iplist
添加你的IP地址
10.10.108.6910.10.108.70...10.10.108.88


然后创建一个shell脚本test.sh

#!/bin/bashfor ip in `cat iplist`do   echo "---$ip---"   scp ~/.ssh/authorized_keys root@$ip:~/.sshdone

执行一下就OK了

chmod +x ./test.sh./test.sh





0 0