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

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

时间:2024-08-28 12:53:53浏览次数:11  
标签: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脚本】根据web访问日志,封禁请求量异常的IP,如IP在半小时后恢复正常,则解除封禁
    #!/bin/bash#####################################################################################根据web访问日志,封禁请求量异常的IP,如IP在半小时后恢复正常,则解除封禁####################################################################################lo......
  • 【Shell脚本】判断用户输入的是否为IP地址
    方法1:#!/bin/bashfunctioncheck_ip(){IP=$1VALID_CHECK=$(echo$IP|awk-F.'$1<=255&&$2<=255&&$3<=255&&$4<=255{print"yes"}')ifecho$IP|grep-E"^[0-9]{1,3}\.[0-9]{1,3}\......
  • 【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#将指定目录下的文件全部遍历出来并......
  • 【Shell脚本】定时清空文件内容,定时记录文件大小
    #!/bin/bash#################################################################每小时执行一次脚本(任务计划),当时间为0点或12点时,将目标目录下的所有文件内#容清空,但不删除文件,其他时间则只统计各个文件的大小,一个文件一行,输出到以时#间和日期命名的文件中,需要考虑目标目录......
  • 【Shell脚本】检测网卡流量,并按规定格式记录在日志中
    #!/bin/bash########################################################检测网卡流量,并按规定格式记录在日志中#规定一分钟记录一次#日志格式如下所示:#2019-08-1220:40#ens33input:1234bps#ens33output:1235bps######################################......
  • 如何在 JMeter 中用前置处理器BeanShell PreProcessor获取系统当前日期?
    一、导读最近,艾兜兜儿正在用JMeter做压力测试和性能测试,接口测试字段需要日期,手动修改太麻烦,就想着自动获取系统当前日期,于是,就有了本文。来,和艾兜兜儿一起学习如何用 BeanShellPreProcessor获取自动日期吧。二、BeanShellPreProcessor获取系统当前日期操作流程:......
  • 数据库服务器运维最佳实践
    数据库服务器运维最佳实践  数据库服务器运维的最佳实践涵盖了多个方面,包括硬件选择、系统配置、性能优化、安全管理、数据备份与恢复、高可用性和灾难恢复等。以下将详细阐述这些方面,并给出部分可执行的代码示例,但请注意,由于环境差异,某些代码可能需要调整才能直接运行。1.......