IBM Cloud Docs
限制 root 用户进行 SSH 访问

限制 root 用户进行 SSH 访问

IBM Cloud® 网络上的每个 Linux 系统都有具有管理许可权的 root 用户。 在 Linux 中,您可以创建 wheel 组,该组可通过“sudo”给予用户与 root 用户相似的权限,而无需使用 root 用户凭证。 在创建了具有 sudo root 用户权限的 wheel 组之后,可以限制该组中的用户进行 SSH 访问。 通过以这种方式限制用户,可以保护设备避免由于网络可访问而带来的安全漏洞。 作为 wheel 组成员的用户仍可随时在设备上执行管理功能。

按照下列步骤限制 root 用户进行 SSH 访问。

  1. 打开“etc/group”文件,查看其中是否包含定义 wheel 组的一行:

    wheel:x:10:root
    

    如果该行不在文件中,请将其添加。

  2. 将至少一个用户添加到该 wheel 组行:

    wheel:x:10:root, user1
    

    添加到轮组的用户对 root 用户具有相同的许可权,但他们在访问系统时使用其唯一用户名。

  3. 运行 :wq 命令以保存更改并退出该文件。

  4. 打开 /etc/ssh/sshd_config 并更改 PermitRootLogin yes 行以读取 PermitRootLogin no

  5. 运行 :wq 命令以保存更改并退出该文件。

  6. visudo命令行**中输入 ** 以生成命令权限。

  7. 从以下行中除去井号 # 以取消注释该行:

    # %wheel ALL=(ALL) ALL
    

    取消注释此行将授予轮组中的所有用户运行所有命令的许可权。

  8. 运行 :wq 命令以保存更改并退出该文件。

  9. 在命令行中运行下列命令:

    vi /etc/pam.d/su
    
  10. 从以下行中除去井号 # 以取消注释该行:

#auth required pam_wheel.so use_uid

取消注释此行要求用户是 wheel 组的成员,用户才能有权运行所有命令。

  1. 运行 :wq 命令以保存更改并退出该文件。
  2. 运行以下命令以保存所有更改,然后重新启动 SSH:
# etc/init.d/ssh restart

后续步骤

在禁止 root 用户进行 SSH 访问之后,root 用户将无法登录 SSH。 如果用户当前可以在 root 用户下通过 SSH 访问服务器,那么在先前的过程中重新启动 SSH 后,连接会失败。 未来尝试通过 root 用户连接 SSH 都会失败。 要撤销这些更改,请重复上述步骤并将 PermitRootLogin no 更改回 PermitRootLogin yes。