![使用脚本更改多个框中的密码](https://linux22.com/image/45125/%E4%BD%BF%E7%94%A8%E8%84%9A%E6%9C%AC%E6%9B%B4%E6%94%B9%E5%A4%9A%E4%B8%AA%E6%A1%86%E4%B8%AD%E7%9A%84%E5%AF%86%E7%A0%81.png)
我正在一个大约有 400 个 AIX 机器的环境中工作。我没有 root 访问权限,我是普通用户。该环境没有 LDAP 类型的集中式身份验证机制,因此密码/etc/shadow
仅保存在文件中。
安全策略要求我们每 30 天更改一次密码,这造成了很大的复杂性,我们无法每月更改所有盒子上的密码,这导致我们每个盒子上都有不同的密码。维护密码是一件很头疼的事。
有没有办法编写一个脚本来登录并更改盒子列表中的密码,以便我们可以每月更改所有盒子上的密码,以便我们拥有相同的密码?
答案1
噗噗
一种方法是使用命令,例如pssh
同时跨多个系统并行运行 ssh。
像这样的命令就足够了:
$ pssh -h ~/pssh-hosts 'printf "%s\n" old_pass new_pass new_pass | passwd'
这将运行命令:
printf "%s\n" old_pass new_pass new_pass | passwd
这将“更改”密码。命令pssh
:
$ pssh -h ~/pssh-hosts '... commmands to run ...'
~/pssh-hosts
将同时在文件中的主机列表上并行运行此命令。
本教程中有一些pssh
实际的示例,标题为:pssh 操作指南。该pssh
命令还有其他命令,例如pscp
跨多个系统并行复制文件。
sshpt(SSH 电动工具)
同样徒劳地pssh
,有sshpt
。工作原理与此类似pssh
,但它是另一种选择。
其他选择?
除了这两个之外,还有很多选择。您可以在标题为以下的 ServerFault 问答中看到更多内容:什么是好的现代并行 SSH 工具?。