#!/bin/bash #批量ssh认证建立 for p in $(cat yq.txt) #注意ip.txt文件的绝对路径 do ip=$(echo "$p"|cut -f1 -d":")
#!/bin/bash
#批量ssh认证建立
for p in $(cat yq.txt) #注意ip.txt文件的绝对路径
do
ip=$(echo "$p"|cut -f1 -d":") #取ip.txt文件中的ip地址
password=$(echo "$p"|cut -f2 -d":") #取ip.txt文件中的密码
#expect自动交互开始
expect -c "
spawn ssh-copy-id -i /root/.ssh/id_rsa.pub root@$ip
expect {
/"*yes/no*/" {send /"yes/r/"; exp_continue}
/"*password*/" {send /"$password/r/"; exp_continue}
/"*Password*/" {send /"$password/r/";}
}
"
done
#通过ssh批量执行命令
for h in $(cat yq.txt|cut -f1 -d":")
do
ssh root@$h 'hostname'
#如果命令是多行的,请参照下面
#ssh root@$h 'uname'
#ssh root@$h '此处写要执行的命令2'
#ssh root@$h '此处写要执行的命令3'
done