首页 > 系统相关 >【Shell脚本】批量修改服务器用户密码

【Shell脚本】批量修改服务器用户密码

时间:2024-08-28 12:53:53浏览次数:20  
标签:INFO Shell OLD 批量 IP NEW USER PASS 服务器

Linux主机SSH连接信息:旧密码

# cat old_pass.txt   
192.168.18.217  root    123456     22  
192.168.18.218  root    123456     22  

内容格式:IP User Password Port

SSH远程修改密码脚本:新密码随机生成

#!/bin/bash  
OLD_INFO=old_pass.txt  
NEW_INFO=new_pass.txt  
for IP in $(awk '/^[^#]/{print $1}' $OLD_INFO); do  
    USER=$(awk -v I=$IP 'I==$1{print $2}' $OLD_INFO)  
    PASS=$(awk -v I=$IP 'I==$1{print $3}' $OLD_INFO)  
    PORT=$(awk -v I=$IP 'I==$1{print $4}' $OLD_INFO)  
    NEW_PASS=$(mkpasswd -l 8)  # 随机密码  
    echo "$IP   $USER   $NEW_PASS   $PORT" >> $NEW_INFO  
    expect -c "  
    spawn ssh -p$PORT $USER@$IP  
    set timeout 2  
    expect {  
        \"(yes/no)\" {send \"yes\r\";exp_continue}  
        \"password:\" {send \"$PASS\r\";exp_continue}  
        \"$USER@*\" {send \"echo \'$NEW_PASS\' |passwd --stdin $USER\r exit\r\";exp_continue}  
    }"  
done  

生成新密码文件:


# cat new_pass.txt   
192.168.18.217  root    n8wX3mU%      22  
192.168.18.218  root    c87;ZnnL      22 

标签:INFO,Shell,OLD,批量,IP,NEW,USER,PASS,服务器
From: https://www.cnblogs.com/o-O-oO/p/18384435

相关文章

  • 【Shell脚本】iptables 自动屏蔽访问网站频繁的IP
    场景恶意访问,安全防范1)屏蔽每分钟访问超过200的IP方法1:根据访问日志(Nginx为例)#!/bin/bashDATE=$(date+%d/%b/%Y:%H:%M)ABNORMAL_IP=$(tail-n5000access.log|grep$DATE|awk'{a[$1]++}END{for(iina)if(a[i]>100)printi}')#先tail防止文件过大,读取慢,数字可......
  • 【Shell脚本】用户猜数字
    #!/bin/bash#脚本生成一个100以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了,#猜小了或猜大了,直至用户猜对脚本结束。#RANDOM为系统自带的系统变量,值为0‐32767的随机数#使用取余算法将随机数变为1‐100的随机数num=$[RANDOM%100+1]echo"$n......
  • 【Shell脚本】批量修改文件名
    示例:#toucharticle_{1..3}.html#lsarticle_1.htmlarticle_2.htmlarticle_3.html把article改为bbs方法1:forfilein$(ls*html);domv$filebbs_${file#*_}#mv$file$(echo$file|sed-r's/.*(_.*)/bbs\1/')#mv$file$(ec......
  • 【Shell 脚本】检测两台服务器指定目录下的文件一致性
    #!/bin/bash######################################检测两台服务器指定目录下的文件一致性######################################通过对比两台服务器上文件的md5值,达到检测一致性的目的dir=/data/webb_ip=192.168.88.10#将指定目录下的文件全部遍历出来并......
  • 如何在 JMeter 中用前置处理器BeanShell PreProcessor获取系统当前日期?
    一、导读最近,艾兜兜儿正在用JMeter做压力测试和性能测试,接口测试字段需要日期,手动修改太麻烦,就想着自动获取系统当前日期,于是,就有了本文。来,和艾兜兜儿一起学习如何用 BeanShellPreProcessor获取自动日期吧。二、BeanShellPreProcessor获取系统当前日期操作流程:......
  • 数据库服务器运维最佳实践
    数据库服务器运维最佳实践  数据库服务器运维的最佳实践涵盖了多个方面,包括硬件选择、系统配置、性能优化、安全管理、数据备份与恢复、高可用性和灾难恢复等。以下将详细阐述这些方面,并给出部分可执行的代码示例,但请注意,由于环境差异,某些代码可能需要调整才能直接运行。1.......