管理数千台服务器的root密码的最佳解决方案是什么

yeg*_*gle 12 linux password root

我是系统管理员。在生产环境中,我需要管理数千台服务器。我和我的同事使用中央管理服务器并通过其他服务器分发其公钥。所以我们可以使用这个管理服务器ssh到其他服务器。

有时我们需要使用root密码,例如服务器宕机时,我们需要使用iLO来确定原因。

目前,我们使用共享的 root 密码。这是不安全的。我还查看了一些单服务器解决方案,例如OPIE(一次性密码在一切中),但由于我们有这么多服务器,这不是一个好主意。

编辑:

我想从密码管理解决方案中得到的是:

  1. 它应该是安全的,所以一次性密码是一个很好的解决方案。
  2. 密码很容易输入,有时我们需要将显示器连接到服务器,或者我上面提到的 iLO。
  3. 即使服务器离线(没有任何网络连接),该解决方案也应该可以工作

因此,将 root 密码设置为长而随机的字符串并不是一个好主意,尽管它是从一些已知命令(如openssl passwd)生成的。很难记住,有时很难生成(没有我的笔记本电脑)

Bel*_*dez 5

您可以使用Puppet将密码更改推送到所有服务器。您可以像这样定义root使用user类型

    user { 'root':
            ensure => present,
            password => '$1$blablah$blahblahblahblah',
    }
Run Code Online (Sandbox Code Playgroud)

生成加密密码:

openssl passwd -1 -salt "blah"
Run Code Online (Sandbox Code Playgroud)

我建议也许每个月左右更改一次——也许使用您的 SA 记住的方案。您也可以通过安全的方法分发它或将其放在保险箱中。


Zor*_*che 3

您始终可以设置禁用密码。这将阻止对 root 的任何网络访问,并且如果您启动到单用户模式,大多数发行版将直接启动到 shell。

这可能并不像您想象的那么大的安全问题。无论如何,绕过 root 密码都是微不足道的,除非您使用密码锁定了 grub,否则几乎任何人都可以简单地告诉 grub 启动 bash 而不是 initrd。

当然,这可能意味着您应该弄清楚如何用密码保护您的引导加载程序。