5.6. 为智能卡用户启用无密码的 sudo 验证
您可以使用 Web 控制台为智能卡用户配置 sudo
和其他服务的无密码身份验证。
另一种选择是,如果您使用红帽身份管理,您可以将初始 Web 控制台证书身份验证声明为可信,以向 sudo
、SSH 或其他服务进行身份验证。为此,Web 控制台会在用户会话中自动创建 S4U2Proxy Kerberos ticket。
先决条件
- 身份管理已安装。
- 跨林信任中与身份管理连接的活动目录。
- 设置为登录到 web 控制台的智能卡。如需更多信息,请参阅使用 Web 控制台配置智能卡验证。
步骤
设置约束委派规则,以列出托管票据可以访问哪些主机。
例 5.1. 设置约束委派规则
Web 控制台会话运行主机
host.example.com
,并应受信任,以通过sudo
访问自己的主机。此外,我们还添加了第二个可信主机 -remote.example.com
。创建以下委派:
运行以下命令添加特定规则可以访问的目标机器列表:
# 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
在对应服务中启用 GSS 身份验证:
对于 sudo,在
/etc/sssd/sssd.conf
文件中启用pam_sss_gss
模块:以 root 用户身份,将域的条目添加到
/etc/sssd/sssd.conf
配置文件。[domain/example.com] pam_gssapi_services = sudo, sudo-i
在第一行启用
/etc/pam.d/sudo
文件中的模块。auth sufficient pam_sss_gss.so
-
对于 SSH,将
/etc/ssh/sshd_config
文件中的GSSAPIAuthentication
选项更新为yes
。
从 Web 控制台连接到远程 SSH 主机时,委派的 S4U 票据不会被转发到远程 SSH 主机。使用您的票据在远程主机上向 sudo 进行身份验证将无法正常工作。
验证
- 使用智能卡登录到 web 控制台。
-
点
Limited access
按钮。 - 使用您的智能卡进行验证。
或者:
- 尝试使用 SSH 连接到其他主机。