禁用本地 root 登录,允许 root 通过 ssh 登录

5 login redhat root

我想阻止 root 用户直接从 RHEL 机器上的本地控制台登录,但允许从 ssh 登录。这能做到吗?

谢谢...

vor*_*aq7 6

是的。

  1. 为 root 创建一个 SSH 密钥并将公共部分添加到~/root/.ssh/authorized_keys.
  2. 编辑/etc/ssh/sshd.conf- 设置PermitRootLoginwithout-password
  3. 重启sshd
  4. 测试它——确保您可以使用密钥通过 SSH 以 root 身份登录。
    • 测试单用户模式- 确保它不会询问 root 的密码(完成第 5 步后,root 将不再能够使用密码登录,因此打破单用户模式可能是一件坏事)
  5. 锁定root的登录密码(在/ etc / shadow文件替换为密码字段*x等等)

笔记:

  1. 您的机器仍然可以被任何可以走到控制台的人root(因为单用户模式不会要求输入密码),但是当他们尝试时,您的机器会宕机,所以理论上您会知道。
    • 如果您将单用户模式配置为需要密码,则在您的系统上执行恢复工作的唯一方法是使用恢复 CD,您和上面一样处于同一条安全船上,但现在黑客很恼火。
  2. 您机器的网络配置文件现在仅与 root 的 SSH 密钥一样安全,因此请确保设置一个好的密码并将密钥保存在安全的地方。
  3. 如果您丢失了 SSH 密钥,以 root 身份重新进入系统的唯一方法是以单用户模式重新启动(或破解您自己的机器)。

也可以使用备用配置,其中侦听 root 登录的单独 sshd 仅适用于并且localhost您使用代理转发以 root 身份登录。我知道至少有一家拥有这种配置的大公司,它增加了一层安全性(和复杂性)。