帮我写一个使用shell脚本,完成批量修改主机密码,当前的账户密码已经过期,需要先输入一次当前密码,再输入两次新密码完成修改
时间: 2024-03-19 08:43:39 浏览: 56
好的,我可以为您提供一个简单的shell脚本,以完成上述任务:
```bash
#!/bin/bash
# 获取当前密码
read -s -p "请输入当前密码: " current_password
echo ""
# 获取新密码
read -s -p "请输入新密码: " new_password
echo ""
# 再次确认新密码
read -s -p "请再次输入新密码: " new_password_confirm
echo ""
# 判断两次输入的新密码是否一致
if [ "$new_password" != "$new_password_confirm" ]; then
echo "两次输入的新密码不一致,请重新运行脚本并输入相同的新密码。"
exit 1
fi
# 批量修改主机密码
# 假设主机列表存储在hosts.txt文件中
# 假设ssh登录用户名为root
# 假设ssh端口号为22
while read host; do
sshpass -p "$current_password" ssh root@"$host" -p 22 'echo "root:'"$new_password"'" | chpasswd'
done < hosts.txt
echo "密码修改完成。"
```
脚本中使用了`sshpass`命令,需要先安装才能使用,安装方法如下:
```bash
sudo apt-get install sshpass
```
需要注意的是,此脚本仅供学习和参考,实际应用中请根据具体情况进行修改和调整。
阅读全文