在生产服务器上让 « PermitRootLogin yes » 真的是一种不好的做法吗?

Fox*_*Fox 3 ssh root

一天(4 年前),我重新启动了我的服务器。重新启动完成后,我尝试像往常一样使用我的常规(非 root)帐户登录。那个时候,我有PermitRootLogin no

我得到了答案

系统将于 2009 年 8 月 16 日星期日 00:43:48 关闭

并且无法登录。但事实并非如此,服务器不会关闭。它已经关闭了,但它已经启动了。实际上,我注意到由于某种神秘的原因/etc/nologin,创建的文件shutdown没有被删除。

/etc/nologin文件存在时,SSH 不允许任何用户登录,root除外。

由于PermitRootLogin设置为 « no »,我无法登录并被迫在救援模式下硬重启我的服务器,挂载文件系统,删除/etc/nologin文件,然后重启。

那么,您如何看待PermitRootLogin设置为 « yes »,但禁用其密码 ( passwd -l root),以便 root 仅允许 SSH 密钥连接?

Mic*_*ton 7

sshd 已经支持你想要的场景:

PermitRootLogin without-password
Run Code Online (Sandbox Code Playgroud)

这允许 root 使用除密码之外的任何身份验证方法。

对于单系统管理员场景,这很好。尽管如此,正如这里和其他地方令人作呕的讨论,如果您有多个系统管理员,他们都不应该以 root 身份登录。