SHELL 脚本 PING主机并进行ssh免密操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #!/bin/env bash home_dir=/home/yunwei #判断yunwei账号的秘钥是否存在 [ ! -f $home_dir/.ssh/id_rsa.pub ] && ssh-keygen -P '' -f $home_dir/.ssh/id_rsa &>/dev/null #循环检查主机网络并且进行公钥推送 ip_txt=$home_dir/ip.txt for i in `cat $ip_txt` do ip=`echo $i|cut -d: -f1` pass=`echo $i|cut -d: -f2` ping -c 1 $ip &>/dev/null if [ $? -eq 0 ];then echo $ip >> secussip.txt /usr/bin/expect <<-END &>/dev/null spawn ssh-copy-id root@$ip expect "(yes/no)" { send "yes\r" ;exp_continue } expect "password:" { send "$pass\r" } expect eof END else echo $ip >> $home_dir/ip_down.txt fi done remote_ip=`head -1 ~/secussip.txt` ssh root@$remote_ip hostname [ $? -eq 0 ] && echo "推送成功" |
阅读剩余
版权声明:
作者:jon
链接:https://www.linux18.cn/?p=162
文章版权归作者所有,未经允许请勿转载。
THE END