批量部署SSH基于key的验证脚本
Posted eddie1127
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量部署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
";exp_continue }
"password" { send "$PASS
" }
}
expect eof
EOF
done < hosts.txt
将需要部署的机器IP写入hosts.txt文件中,每行一个
以上是关于批量部署SSH基于key的验证脚本的主要内容,如果未能解决你的问题,请参考以下文章
自动化运维Ansible批量部署服务+shell脚本批量推送公钥