gpt4 book ai didi

bash - 如何更改多服务器上的默认 root 密码

转载 作者:行者123 更新时间:2023-12-04 19:38:00 27 4
gpt4 key购买 nike

在所有这些服务器上安装新的 CentOS 后,如何更改多服务器上的默认 root 密码(root 的密码是通过 CentOS 安装提供的)。

我可以使用 ansible 工具来完成这个问题,但它不适用于第一次 root 密码。

我怎样才能达到我的目的。

更新:
我不想登录到每个服务器来更改密码。我想通过 ssh 从远程服务器更改 root 密码,并且至少可以轻松完成。

解决方案:

使用 ansible + 下面的命令是在多服务器上更改 root 密码的最简单方法。

echo "newpass" | passwd root --stdin

最佳答案

您可以尝试使用 Expect 自动执行此操作。我过去曾使用 Expect 自动登录到路由器以执行操作。 Expect 脚本有点像宏。
你可以安装期望

sudo apt-get install expect

或者
yum install expect

您创建一个期望脚本并为您的 100 个服务器中的每一个运行它(可能通过一个 shell 脚本)。一个基本的 Expect 脚本示例,只是为了让您了解它的作用:
spawn ssh -l admin 123.111.123.11
match_max 100000
expect -ex "This system is for authorized use only.Password:"
send -- "topsecret\r"
expect -ex "Terminal type? \[xterm\]"
send -- "\r"
send -- "\n"
expect -ex "MyServer\[admin\]#"
send -- "/usr/bin/uptime \r\n"
expect -ex "MyServe\[admin\]#"

显然,您需要将脚本应该“期望”的内容更改为您的 centos 机器的实际输出,因为上面的“预期”内容是针对路由器的。
下面的链接是一个更复杂的密码设置脚本,可能对您有帮助:
http://surniaulula.com/2012/10/14/change-passwords-with-ssh-and-expect/

关于bash - 如何更改多服务器上的默认 root 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27014136/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com