美文网首页
通过密码批量操作服务器

通过密码批量操作服务器

作者: 鸟它鸟 | 来源:发表于2018-05-22 23:26 被阅读0次

临时撸一段,备份下 说不定啥时候用一下,没有做多线程什么的,效率会低很多。偶尔用一下算是可以接受吧,毕竟一般批量的操作应该都有中控机进行下key。

首先准备一份服务器信息文件

localhost:~ dada$ cat hostinfo
1.1.1.1 root xxxxx
2.2.2.2 root xxxxx
3.3.3.3 root xxxxx
4.4.4.4 root xxxxx

复制脚本吧

#!/bin/bash
hosts=$1
command=$2

if [ ! -e ${hosts} ]
then
   echo "服务器列表文件不存在!"
   exit 1
fi

if [ ! -n "${command}" ]
then
   echo "无命令输入!"
   exit 1
fi

while read ipInfo
do
   ipAddr=`echo ${ipInfo}|awk '{print $1}'`
   userName=`echo ${ipInfo}|awk '{print $2}'`
   userPass=`echo ${ipInfo}|awk '{print $3}'`
   commandInfo=`sshpass -p "${userPass}"  ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${userName}@${ipAddr} 2>/dev/null -n "${command}"`

   if [ "x$?" = "x0" ]
   then
       echo "${ipAddr} [SUCCESS]"
       echo "${commandInfo}"
   else
       echo "${ipAddr} [FAIL]"
   fi
done<${hosts}

下面是执行

服务器无法连接
localhost:~ dada$ ./pass_ssh.sh ./hostinfo "free -g"
1.1.1.1 [FAIL]

服务器可以连接
localhost:~ dada$ ./pass_ssh.sh ./hostinfo "free -g"
1.1.1.1 [SUCCESS]
              total        used        free      shared  buff/cache   available
Mem:             47           0          45           0           1          46
Swap:             7           0           7
localhost:~ didi$

相关文章

网友评论

      本文标题:通过密码批量操作服务器

      本文链接:https://www.haomeiwen.com/subject/xkkljftx.html