(适用于已知IP、用户名、密码和端口的验证情景)
#!/bin/sh
timeout=3
cmd="id > /tmp/b4"
login(){
for i in `cat sshwp.csv`
do
#echo "$i\n"
ip=`echo $i|awk -F "," '{print $1}'`
echo $ip
user=`echo $i|awk -F "," '{print $2}'`
#echo $user
pass=`echo $i|awk -F "," '{print $4}'`
#echo $pass
port=`echo $i|awk -F "," '{print $3}'`
#echo $port
result=`sshpass -p "$pass" ssh -p $port -o StrictHostKeyChecking=no -o ConnectTimeout=$timeout $user@$ip $cmd`
if [ $? -ne 0 ];then
echo "$ip + "fail""
else
echo "$ip + "success""
fi
# echo "$ip" >> result.txt
done
echo ""
}
login
[文件内容格式:IP,用户名,端口,密码]
sshpass安装链接:
Non-interactive ssh password auth download | SourceForge.net
http://sourceforge.net/projects/sshpass/
安装命令参考:

本文介绍了一种使用Shell脚本实现SSH批量登录并执行指定命令的方法。该脚本通过读取CSV文件中的主机信息(包括IP地址、用户名、端口和密码),利用sshpass工具进行非交互式的SSH认证,进而完成远程主机的批量操作。文中还提供了sshpass的安装指导。
https://www.cnblogs.com/0x4D75/p/9648376.html
4万+

被折叠的 条评论
为什么被折叠?



