批量部署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的验证脚本的主要内容,如果未能解决你的问题,请参考以下文章

免交互方式批量分发公钥脚本

使用Shell脚本+expect批量部署ssh

zabbix自动发现和自动注册批量添加100台主机

自动化运维Ansible批量部署服务+shell脚本批量推送公钥

自动化运维Ansible批量部署服务+shell脚本批量推送公钥

ssh访问跳过RSA key"yes/no"验证