批量修改远程 linux 服务器密码
第一种方法 通过 expect 批量修改 linux 服务器用户名和密码
公司现在有 100 多台服务器,需要对服务器进行批量的修改 root 密码,还要在每台服务器新
建一个用户, 如果一个一个登到的服务器上进行修改的话, 估计一个下午又没有了, 首先想到
的是我最喜欢的 php ,其中有个 ssh2 模块,不得不承认用 php 来处理这样的任务是一件很
纠结的事情, 然后又想到了用 shell,不过发现很快就写不下去了, shell 的交互能力还是不能
让人恭维的, 最后发现了 expect,expect 以其强大的交互能力, 无疑是处理这类任务的首选,
再加上 expect 可以内嵌 shell,这使得他变得更强大。
首先要有一个服务器的 ip 列表,把要处理的 ip 放在里面
192.168.6.236
192.168.6.235
192.168.6.234
192.168.6.233
192.168.6.232
192.168.6.231
.....
然后是 shell 脚本 shell.sh
#!/bin/bash
if [ "$1" = "" ] || [ "$2" = "" ] || [ "$1" = "--help" ] [ "$1" = "-h" ]
then
echo "usage:shell.sh path/iplist path/adduser"
exit
fi