57.2. 在 web 控制台中为 SSH 登录配置智能卡验证
在 RHEL web 控制台中登录到用户帐户后,您可以使用 SSH 协议连接到远程机器。您可以使用受限委托功能来使用 SSH
,而无需再次进行身份验证。
在示例流程中,web 控制台会话在 myhost.idm.example.com
主机上运行,并将控制台配置为代表经过身份验证的用户使用 SSH 访问 remote.idm.example.com
主机。
先决条件
-
您已在
myhost.idm.example.com
上获得了 IdMadmin
ticket-granting ticket (TGT)。 -
您有访问
remote.idm.example.com
的root
权限。 - 运行 Web 控制台的主机是 IdM 域的成员
流程
在 Terminal 页面中,验证 web 控制台是否在用户会话中为 User to Proxy (S4U2proxy) Kerberos ticket 创建一个服务:
klist
$ klist … Valid starting Expires Service principal 05/20/25 09:19:06 05/21/25 09:19:06 HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM …
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建委派规则可访问的目标主机列表:
创建服务委托目标:
ipa servicedelegationtarget-add cockpit-target
$ ipa servicedelegationtarget-add cockpit-target
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将目标主机添加到委派目标:
ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/remote.idm.example.com@IDM.EXAMPLE.COM
$ ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/remote.idm.example.com@IDM.EXAMPLE.COM
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
通过创建服务委派规则并将 HTTP 服务 Kerberos 主体添加到其中,允许
cockpit
会话访问目标主机列表:创建服务委派规则:
ipa servicedelegationrule-add cockpit-delegation
$ ipa servicedelegationrule-add cockpit-delegation
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 Web 控制台客户端添加到委派规则中:
ipa servicedelegationrule-add-member cockpit-delegation \ --principals=HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
$ ipa servicedelegationrule-add-member cockpit-delegation \ --principals=HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将委派目标添加到委派规则中:
ipa servicedelegationrule-add-target cockpit-delegation \ --servicedelegationtargets=cockpit-target
$ ipa servicedelegationrule-add-target cockpit-delegation \ --servicedelegationtargets=cockpit-target
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在
remote.idm.example.com
主机上启用 Kerberos 身份验证:-
以
root
身份通过 SSH 连接到remote.idm.example.com
。 -
将
GSSAPIAuthentication yes
设置添加到/etc/ssh/sshd_config
文件中。
-
以
在
remote.idm.example.com
上重启sshd
服务,以便更改生效:systemctl try-restart sshd.service
$ systemctl try-restart sshd.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow