批量部署SSH基于key的验证脚本

工作中,使用ansible等自动化运维工具实现服务器批量自动化运维管理,需要先解决管理端和被管理端的免密码登录,可以脚本实现ssh基于key的验证,代码如下:

#!/bin/bash
PASS=123456
USER=root
ssh-keygen  -f '/root/.ssh/id_rsa' -P '' &> /dev/null
rpm -q expect &> /dev/null || yum install  expect -y -q 

while read IP;do
expect <<EOF
set timeout 20
spawn ssh-copy-id  $USER@$IP
expect {
"yes/no" { send "yes\n";exp_continue }
"password" { send "$PASS\n" }
}
expect eof
EOF
done < hosts.txt 

将需要部署的机器IP写入hosts.txt文件中,每行一个

猜你喜欢

转载自www.cnblogs.com/eddie1127/p/12024875.html