禁用使用 ssh 的 root 登录不起作用?

禁用使用 ssh 的 root 登录不起作用?

我最近在 ubunutu 服务器上禁用了通过 ssh 进行 root 登录,因为我收到了很多使用 root 的 ssh 尝试。我通过编辑文件/etc/ssh/sshd_config并重新启动 ssh 来做到这一点。

但是,当我最近再次检查日志文件时,我发现其中有许多其他使用 root 的尝试? - 日志消息是“密码失败” - 但如果这确实有效,为什么它不会在第一个障碍时失败并说“失败 - 不允许 root 登录”或类似的东西?

有什么方法可以判断我是否配置正确吗?

答案1

我假设您将 PermitRootLogin 设置为 no。如果是这种情况,SSH 仍将接受连接,但随后拒绝 root 登录。您将在日志中看到此信息,但它不会允许 root 登录。

我还使用“无密码”选项来仅允许使用 SSH 密钥进行 root 登录。

我还没有深入研究,但怀疑这是因为 SSH 接受连接然后将身份验证过程交给 PAM。

如果您希望阻止这些尝试,fail2ban 是一个流行的工具。

http://www.fail2ban.org/wiki/index.php/Main_Page

就我个人而言,我并不喜欢这些日志分析器,但它们也有自己的用处。

答案2

如果您设置:

PermitRootLogin no

并重新启动 sshd 进程(/etc/init.d/sshd restart)。它应该禁用 root 用户登录的能力。确保 /etc/sysconfig/sshd 不存在并覆盖一些设置。

当 root 登录时,日志错误将类似于(如果是基于 RHEL 的发行版,则在 /var/log/secure 中):

Failed password for root from [...]*

答案3

一个技巧是安装类似 sshguard 的东西来帮助抵御暴力破解。阅读以下内容:
http://www.sshguard.net/

相关内容