7.5. 为智能卡用户启用免密码 sudo 身份验证


您可以为智能卡用户启用免密码 sudo 身份验证。这可让用户在不输入密码的情况下执行管理任务,进一步提高操作效率和安全性。

另外,如果使用 RHEL 身份管理,您可以将初始 Web 控制台证书声明为使用 sudo、SSH 或者其他服务进行身份验证。为此,Web 控制台会在用户会话中自动创建 S4U2Proxy Kerberos ticket。

在以下示例中,Web 控制台会话在 host.example.com 上运行,并被信任,以通过 sudo 访问自己的主机。此外,示例步骤添加第二个可信主机 - remote.example.com

先决条件

流程

  1. 设置约束委派规则,以列出托管票据可以访问哪些主机。

    • 创建以下示例委派:

      • 输入以下命令添加特定规则可以访问的目标机器列表:

        # ipa servicedelegationtarget-add cockpit-target
        # ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/host.example.com@EXAMPLE.COM \ --principals=host/remote.example.com@EXAMPLE.COM
      • 要启用 Web 控制台会话(HTTP/principal)来访问该主机列表,请使用以下命令:

        # ipa servicedelegationrule-add cockpit-delegation
        # ipa servicedelegationrule-add-member cockpit-delegation \ --principals=HTTP/host.example.com@EXAMPLE.COM
        # ipa servicedelegationrule-add-target cockpit-delegation \ --servicedelegationtargets=cockpit-target
  2. 在对应服务中启用 GSS 身份验证:

    1. 对于 sudo,在 /etc/sssd/sssd.conf 文件中启用 pam_sss_gss 模块:

      1. root 用户身份,将域的条目添加到 /etc/sssd/sssd.conf 配置文件中。

        [domain/example.com]
        pam_gssapi_services = sudo, sudo-i
      2. 在第一行启用 /etc/pam.d/sudo 文件中的模块。

        auth sufficient pam_sss_gss.so
    2. 对于 SSH,将 /etc/ssh/sshd_config 文件中的 GSSAPIAuthentication 选项更新为 yes

      警告

      从 Web 控制台连接到远程 SSH 主机时,委派的 S4U 票据不会被转发到远程 SSH 主机。使用您的票据在远程主机上向 sudo 进行身份验证将无法正常工作。

验证

  1. 使用智能卡登录到 web 控制台。
  2. Limited access 按钮。
  3. 使用您的智能卡进行验证。
  4. 或者:尝试使用 SSH 连接到其他主机。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部