现在我已经引起你的注意了:)
这更像是一个思想实验,而不是一个真正的问题
我一直在考虑使用一个简单的 root 帐户密码进行恢复,同时考虑到以下登录限制:
- 所有用户的 SSH 密码验证均已关闭
- 所有用户仅允许公钥认证
- 用户不得使用 pam_wheel.so 等方式使用 root 密码“su root”,以防止未在 sudoers.d 中的未经授权的用户成为 root
- 以 root 身份登录的唯一方法是通过 KVM/本地登录
答案1
不,不是。你错误地认为一些其他层面的安全性就足够了,即它得到正确实施并且在未来仍然有效。
还有其他方法可以恢复密码 - 要么将密码备份到外部某个地方,要么简单地将密码设置为容易被推翻的密码(比如使用权密码,相反加密忘记它们,并学会在需要时如何重置。
如果你确实希望确保系统范围内的 root 账户安全,那么最好将复杂的密码保存在 root 可读的文件中,放在 root 可降级的目录中,而不是使用一些简单的密码。为什么?
如果有人能读取该文件,那么他可能已经是 root 了,因此没有额外的风险。好吧,差不多了 - 他有 +rx,但仍然没有 +w,但这已经是个大问题了。
另一端,您可以随时从某个外部源挂载文件系统并读取文件的内容。
这样,您就不会依赖于将来可能发生的 PAM od sshd 的一些错误配置(例如更新后)。
尽管如此,这确实是一个不安全的想法 - 特别是如果你可以简单地将密码安全地保存在手机中(*pass)。
答案2
这取决于你如何定义“容易”。
正如现在经典的 xkcd 漫画所解释的那样密码强度,密码对于人类来说可能很容易,但对于机器来说却很难,反之亦然。
我通常的建议是使用简单(对于人类来说)但长(对于机器或机器人来说很难)的密码。
因此,使用简单但长的密码可以完全避免这个问题。