上周在倍靖学长的指导下搞了一下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 .ssh
cat 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.69
10.10.108.70
...
10.10.108.88
#!/bin/bash
for ip in `cat iplist`
do
echo "---$ip---"
scp ~/.ssh/authorized_keys root@$ip:~/.ssh
done
执行一下就OK了
chmod +x ./test.sh
./test.sh