shell 脚本交互模式expect批量上传ssh密钥
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 脚本交互模式expect批量上传ssh密钥相关的知识,希望对你有一定的参考价值。
#!/usr/bin/bash###批量上传密钥
V.1.0 by chenght 2019-03-29
password=12345qwert
for i in {2..254} ######批量获取ip地址
do
{
ip=192.28.1.$i
ping -c1 -W1 $ip &>/dev/null ####记录成功的ip
if [ $? = 0 ];then
echo "$ip">>ip.txt
EOF 交互内容容易出错,请注意
/usr/bin/expect <<-EOF
set timeout 10
spawn ssh-copy-id -i /root/.ssh/id_rsa.pub -p 10022 [email protected]$ip ##上传的密钥写全路径#
expect {
"yes/no" { send "yes\r";exp_continue }
"password:" { send "$password\r" }
}
expect eof
EOF
fi
}&
done
wait
echo "fininsh.."
以上是关于shell 脚本交互模式expect批量上传ssh密钥的主要内容,如果未能解决你的问题,请参考以下文章
[shell脚本]-在shell中定义expect function
Linux系统shell脚本之Expect实现SSH免交互执行命令