Skip to main content

2026 年 4 月 16 日

为 RHEL 和 Rocky Linux 9.x/8.x 桌面配置 True SSO

要在 RHEL 或 Rocky Linux 9.x/8.x 桌面上支持 True SSO,必须先将基础虚拟机 (VM) 与 Active Directory (AD) 域集成。然后,您必须修改系统上的某些配置才能支持 True SSO 功能。

该过程中的一些示例使用占位符值以表示网络配置中的实体,例如,AD 域的 DNS 名称。请将占位符值替换为您的配置特定的信息,如下表中所述。

占位符值描述
mydomain.comAD 域的 DNS 名称
MYDOMAIN.COMAD 域的 DNS 名称,全部为大写字母
MYDOMAIN您的 NetBIOS 域的名称
dnsserver.mydomain.comDNS 服务器的名称

必备条件

  • 为 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.crtrui.key 通常位于 etc 结构内的目录 ssl 中。

步骤

  1. 在基础虚拟机上,验证与 Active Directory 的网络连接。

    sudo realm discover *mydomain.com*
    
  2. 安装所需的依赖项包。

    sudo yum install oddjob oddjob-mkhomedir sssd adcli samba-common-tools
    
  3. 加入 AD 域。

    sudo realm join --verbose *mydomain.com* -U administrator
    
  4. 安装根 CA 证书或证书链。

    1. 找到您下载的根 CA 证书或证书链,并将其传输到 PEM 文件。

      sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
          
      
    2. 将证书复制到 /etc/sssd/pki/sssd_auth_ca_db.pem 文件中。

      sudo cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
      
  5. 修改 /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
    
  6. 将模式设置为 644,以修改 /etc/krb5.conf 配置文件。

    **注意:**如果未按指定方式修改 /etc/krb5.conf,则 True SSO 功能可能无法正常使用。

  7. (RHEL 或 Rocky Linux 9.x)要确保 TrueSSO 在即时克隆桌面池中正常工作,请修改以下配置。

    **注意:**如果未将虚拟机用于即时克隆桌面池,则可以跳过这些配置。

    1. 运行相应命令以明确允许 SHA-1 加密策略。

      sudo update-crypto-policies --set DEFAULT:SHA1
      
    2. 找到先前下载的根 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
      
    3. 修改 /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
      
  8. 安装 Horizon Agent 软件包并启用 True SSO。

    sudo ./install_viewagent.sh -T yes
    
  9. 修改 viewagent-custom.conf 配置文件,使其包含以下行。

    NetbiosDomain = *MYDOMAIN*
    
  10. 重新启动虚拟机,然后重新登录。

此页面对您有帮助吗?

对本主题提供反馈

本主题对您有帮助吗?

请勿填写任何个人信息或机密信息。

正在生成链接…