[root@test1 ~]# vim ssh-keygen.sh //test1作为跳板机,负责管理内网服务器,需要免密登录
#!/bin/bash
#以华为云主机为例,创建了6台云主机,设置IP段为192.168.1.194~192.168.1.199,密码均设置为wyj123@WXD456
rm -rf ~/.ssh/{known_hosts,id_rsa*} //清空家目录下的原始密钥文件
ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa //重新生成密钥,-t指定SSH密钥的算法为RSA算法,-N设置密码为空,-f指定生成的密钥文件存放位置
yum -y install expect //安装expect预期交互软件包
for i in {194..199}
do
expect << EOF
spawn ssh-copy-id 192.168.1.$i //使用for循环将公钥传给(194-199)其他主机
expect "(yes/no)?" {send "yes\r"}
expect "password:" {send "wyj123@WXD456\r"}
expect "#" {send "exit\r"}
EOF
done
[root@test1 ~]# bash ./ssh-keygen.sh