介绍
基本信息
作者:朱明宇
名称:批量修改多个远程服务器某个用户的过期密码
作用:批量修改多个远程服务器某个用户的过期密码
使用方法
1. 将此脚本和清单 $list 文件放在同一目录下
2. 清单 $list 里每个远程服务器名或 IP 地址占用 1 行
3. 在此脚本的分割线内写入相应的内容
4. 在执行此脚本的系统上安装 expect
5. 给此脚本添加执行权限
6. 执行此脚本
脚本分割线里的变量
1. oldpassword=123 #原密码
2. newpassword=abc #新密码
3. user=root #要修改密码的用户
4. list=servers.txt #指定服务器清单
脚本
#!/bin/bash
####################### Separator ########################
oldpassword=123
newpassword=abc
user=root
list=servers.txt
####################### Separator ########################
set timeout 5
for i in `cat $list`
do
echo $i
ssh $i "whoami"
if [ $? -eq 0 ];then
continue
fi
expect << EOF
spawn ssh $user@$i
expect "Current password:" {send "$oldpassword\r"}
expect "New password:" {send "$newpassword\r"}
expect "Retype new password:" {send "$newpassword\r"}
expect ">" {send "\r"}
EOF
echo
done