shell脚本批量推送公钥
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本批量推送公钥相关的知识,希望对你有一定的参考价值。
针对大量的主机时,推送公钥需要一个个的输入IP和对面的密码显得异常的麻烦,所以写了个shell脚本进行批量推送。
先yum安装一个expect软件,这个软件是负责交互的。
这里先把需要推送的主机IP写入到一个文本中,后续读区的IP从这个文本中调用。
#!/bin/bash
all=`cat /opt/ip.txt` #定义一个变量,查看文本中的内容
for i in $all #定义i变量,逐个查看
do
password="123456" #定义对方的密码
/usr/bin/expect -c " #expect命令的路径
spawn ssh-copy-id [email protected]$i #推送ip为逐个查看的变量i
expect {
"*(yes/no)" { send "yes
";exp_continue } #当匹配到yes/no时,回答yes
"*password" { send "$password
"; exp_continue } #当匹配到password的时候回答的密码为我们定义的
}
expect eof"
done
这样就可以直接免交互的进行推送了。
以上是关于shell脚本批量推送公钥的主要内容,如果未能解决你的问题,请参考以下文章
自动化运维Ansible批量部署服务+shell脚本批量推送公钥