shell脚本批量ssh登陆主机并执行命令

时间:2023-03-09 09:33:41
shell脚本批量ssh登陆主机并执行命令

shell脚本批量ssh登陆主机并执行命令

今天在客户现场遇到了这个问题,客户没有管理工具,无法批量登陆主机下发命令,几个个C段啊,让我一个一个登陆,。。。。。。。。。。。。。。。。。。

所以写了个shell脚本,批量使用用户名密码方式登陆Linux主机,执行命令,并判断是否执行成功。

功能:

  1. 读取IP地址文件,循环登陆主机执行命令,保存返回结果。

脚本已经上传到github https://github.com/b4zinga/UsefulScripts/blob/master/remote-exec.sh

#!/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