要在 RHEL 或 Rocky Linux 9.x/8.x 桌面上支持 True SSO,必须先将基础虚拟机 (VM) 与 Active Directory (AD) 域集成。然后,您必须修改系统上的某些配置才能支持 True SSO 功能。
该过程中的一些示例使用占位符值以表示网络配置中的实体,例如,AD 域的 DNS 名称。请将占位符值替换为您的配置特定的信息,如下表中所述。
| 占位符值 | 描述 |
|---|---|
| mydomain.com | AD 域的 DNS 名称 |
| MYDOMAIN.COM | AD 域的 DNS 名称,全部为大写字母 |
| MYDOMAIN | 您的 NetBIOS 域的名称 |
| dnsserver.mydomain.com | DNS 服务器的名称 |
必备条件
-
为 Omnissa Access 和 Horizon Connection Server 配置 True SSO。
-
确认基础虚拟机上的 DNS 可以解析 Active Directory (AD) 服务器。
-
配置虚拟机的主机名。
-
在虚拟机上配置网络时间协议 (NTP)。
-
获取一个根证书颁发机构 (CA) 证书,并将其保存到虚拟机上的
/tmp/certificate.cer中。请参阅如何导出根证书颁发机构证书。如果从属 CA 也是颁发机构,则需获取包含根 CA 证书和从属 CA 证书的完整证书链,并将其保存到虚拟机上的
/tmp/certificate.cer中。 -
要在 FIPS 模式下使用 True SSO,请确保您已完成配置符合 FIPS 的 Linux 计算机中所述的所有步骤。您必须将 BlastServer 的可信 CA 证书添加到
ssl目录的rui.crt,并将与rui.crt配对的密钥添加到rui.key。
rui.crt 和 rui.key 通常位于 etc 结构内的目录 ssl 中。
步骤
-
在基础虚拟机上,验证与 Active Directory 的网络连接。
sudo realm discover *mydomain.com* -
安装所需的依赖项包。
sudo yum install oddjob oddjob-mkhomedir sssd adcli samba-common-tools -
加入 AD 域。
sudo realm join --verbose *mydomain.com* -U administrator -
安装根 CA 证书或证书链。
-
找到您下载的根 CA 证书或证书链,并将其传输到 PEM 文件。
sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem -
将证书复制到
/etc/sssd/pki/sssd_auth_ca_db.pem文件中。sudo cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
-
-
修改
/etc/sssd/sssd.conf配置文件,如以下示例中所示。[sssd] domains = *mydomain.com* config_file_version = 2 services = nss, pam [domain/mydomain.com] ad_domain = *mydomain.com* krb5_realm = *MYDOMAIN.COM* realmd_tags = manages-system joined-with-adcli cache_credentials = True id_provider = ad krb5_store_password_if_offline = True default_shell = /bin/bash ldap_id_mapping = True use_fully_qualified_names = False #Use short name for user fallback_homedir = /home/%u@%d access_provider = ad ad_gpo_map_interactive #For SSO, you can add this line for ad_gpo_map_interactive and set equal to a +gdm value. You must obtain from Omnissa Support the appropriate value for your specific Horizon version [pam] #Add pam section for certificate logon pam_cert_auth = True #Add this line to enable certificate logon for system pam_p11_allowed_services #To enable certificate logon for Horizon Agent, you can add this line for pam_p11_allowed_services and set equal to a +gdm value. You must obtain from Omnissa Support the appropriate value for your specific Horizon version [certmap/*mydomain.com*/truesso] #Add this section and following lines to set match and map rule for certificate user matchrule = <EKU>msScLogin maprule = (|(userPrincipal={subject_principal})(samAccountName={subject_principal.short_name})) domains = *mydomain.com* priority = 10 -
将模式设置为
644,以修改/etc/krb5.conf配置文件。**注意:**如果未按指定方式修改
/etc/krb5.conf,则 True SSO 功能可能无法正常使用。 -
(RHEL 或 Rocky Linux 9.x)要确保 TrueSSO 在即时克隆桌面池中正常工作,请修改以下配置。
**注意:**如果未将虚拟机用于即时克隆桌面池,则可以跳过这些配置。
-
运行相应命令以明确允许 SHA-1 加密策略。
sudo update-crypto-policies --set DEFAULT:SHA1 -
找到先前下载的根 CA 证书或证书链,并将其复制到
/etc/pki/ca-trust/source/anchors/ca_cert.pem。然后,使用update-ca-trust命令允许旧版应用程序能够读取受信任的证书。sudo cp /tmp/certificate.pem /etc/pki/ca-trust/source/anchors/ca_cert.pem sudo update-ca-trust -
修改
/etc/krb5.conf文件,如以下示例中所示。[realms] MYDOMAIN.COM = { kdc = dnsserver.mydomain.com admin_server = dnsserver.mydomain.com pkinit_anchors = DIR:/etc/pki/ca-trust/source/anchors pkinit_kdc_hostname = dnsserver.mydomain.com pkinit_eku_checking = kpServerAuth } [domain_realm] .mydomain.com = MYDOMAIN.COM mydomain.com = MYDOMAIN.COM
-
-
安装 Horizon Agent 软件包并启用 True SSO。
sudo ./install_viewagent.sh -T yes -
修改
viewagent-custom.conf配置文件,使其包含以下行。NetbiosDomain = *MYDOMAIN* -
重新启动虚拟机,然后重新登录。
此页面对您有帮助吗?