【问题标题】:How can I change default root password on multi server如何更改多服务器上的默认 root 密码
【发布时间】:2014-12-08 12:31:57
【问题描述】:

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

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

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

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

解决方案:

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

echo "newpass" | passwd root --stdin

【问题讨论】:

  • 为什么要给我负分????

标签: bash ssh passwords centos


【解决方案1】:

您可以尝试使用 Expect 自动执行此操作。我过去曾使用 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/

【讨论】:

    【解决方案2】:

    要在完成安装后更改您的根密码,请使用根密码工具。 在 shell 提示符下键入 system-config-rootpassword 命令以启动 Root 密码工具。如果您不是 root,它会提示您输入 root 密码以继续。

    【讨论】:

    • 我不想登录每个服务器来更改密码。我想通过 ssh 从远程服务器更改 root 密码,并且至少可以完成。
    猜你喜欢
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 1970-01-01
    • 2012-06-18
    相关资源
    最近更新 更多