今天在客户现场遇到了这个问题,客户没有管理工具,没法批量登录主机下发命令,几个个C段啊,让我一个一个登录,。。。。。。。。。。。。。。。。。。git
因此写了个shell脚本,批量使用用户名密码方式登录Linux主机,执行命令,并判断是否执行成功。github
功能:shell
脚本已经上传到github https://github.com/b4zinga/UsefulScripts/blob/master/remote-exec.shssh
#!/bin/sh # Date : 2018-09-14 14:56:09 # Author: b4zinga # Email : b4zinga@outlook.com # Func : 批量登录Linux主机并执行命令 username="root" password="password" port="22" timeout=3 cmd="id > /tmp/b4" login(){ echo "" echo "-------------------------------------------------------- " echo "username: $username password: $password port: $port timeout=$timeout" echo "command: $cmd" echo "Remote exec command script" echo "--------------------------------------------------------" echo "" for host in `cat ip.txt`; do result="" result=`sshpass -p "$password" ssh -p $port -o StrictHostKeyChecking=no -o ConnectTimeout=$timeout $username@$host $cmd` echo $host >> result.txt echo $result >> result.txt done echo "" } login ls