在 sshd_config 中,我们可以设置
PermitRootLogin no
禁用 root 登录。
我正在编写一个脚本来检查服务器配置。有没有办法在不检查sshd_config
文件的情况下检查/测试它,因为这个文件需要sudo
特权?
答案1
当您拥有正确的凭据并且远程根登录成功时,您就知道您的 sshd 配置不正确(或者未重新启动)。
当您无法登录时,您将无法获得任何结论性的信息。
根据设计,sshd(和大多数其他工具)不应泄露特权安全信息。
远程攻击者不应该能够(由于特定的错误消息)了解用户名是否有效,即使他们没有该用户的正确凭据。
因此,当提供的三个条件不全为真时,对于任何组合,您收到的外部错误消息应该没有区别:
- 用户名有效
- 用户被允许登录
- 您使用的密码、私钥或其他凭证对该用户有效
这对于 root 用户以及任何其他用户来说都是真实的。
请注意,服务器上记录的错误消息可能会因拒绝访问的原因而不同,并且通常也不同;但阅读这些错误消息也需要管理员权限......
—————
换句话说:唯一可以确认您的服务器配置正确的明确检查将需要对相关服务器的特权访问。