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

通过密码批量操作服务器

作者: 鸟它鸟 | 来源:发表于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