Um True SSO auf einem RHEL/CentOS 8.x-Desktop zu unterstützen, müssen Sie das System zuerst in Ihre Active Directory-Domäne (AD) integrieren. Anschließend müssen Sie bestimmte Konfigurationen auf dem System ändern, um die True SSO-Funktion zu unterstützen.

Um True SSO auf einem RHEL/CentOS 8.1-Desktop zu unterstützen, müssen Sie Horizon Agent 7.12 oder höher installieren.

Um True SSO auf einem RHEL/CentOS 8.0-Desktop zu unterstützen, müssen Sie Horizon Agent 7.11 oder höher installieren.

Hinweis: True SSO wird auf Instant-Clone-Desktops mit RHEL 8.x nicht unterstützt.

In einigen der Beispiele im Verfahren werden Platzhalterwerte verwendet, um Entitäten in Ihrer Netzwerkkonfiguration darzustellen, z. B. den DNS-Namen Ihrer Active Directory-Domäne. Ersetzen Sie die Platzhalterwerte durch spezifische Informationen für Ihre Konfiguration, wie in der folgenden Tabelle gezeigt.

Platzhalterwert Beschreibung
mydomain.com DNS-Name Ihrer Active Directory-Domäne
MYDOMAIN.COM DNS-Name Ihrer Active Directory-Domäne in Großbuchstaben
MYDOMAIN Name Ihrer NetBIOS-Domäne

Voraussetzungen

  • Stellen Sie sicher, dass der Active Directory(AD)-Server durch DNS auf dem RHEL/CentOS 8.x-System aufgelöst werden kann.
  • Konfigurieren Sie den Hostnamen des Systems.
  • Konfigurieren Sie das Network Time Protocol (NTP) auf dem System.

Prozedur

  1. Überprüfen Sie auf dem RHEL/CentOS 8.x-System die Netzwerkverbindung mit Active Directory.
    # realm discover mydomain.com
  2. Installieren Sie die erforderlichen Abhängigkeitspakete.
    # yum install oddjob oddjob-mkhomedir sssd adcli samba-common-tools
  3. Treten Sie der AD-Domäne bei.
    # realm join --verbose mydomain.com -U administrator
  4. Laden Sie das Root-CA-Zertifikat herunter und kopieren Sie es als PEM-Datei in das erforderliche Verzeichnis.
    # openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    
    # cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
  5. Passen Sie die Konfigurationsdatei /etc/sssd/sssd.conf an, wie im folgenden Beispiel gezeigt.
    [sssd]
    domains = mydomain.com
    config_file_version = 2
    services = nss, pam
     
    [domain/mydomain.com]
    ad_domain = mydomain.com
    krb5_realm = IMYDOMAIN.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 = +gdm-vmwcred    <---------------- Add this line for SSO
     
    [pam]                                    <---------------- Add pam section for certificate logon
    pam_cert_auth = True                     <---------------- Add this line to enable certificate logon for system
    pam_p11_allowed_services = +gdm-vmwcred  <---------------- Add this line to enable certificate logon for VMware Horizon Agent
     
    [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. Installieren Sie das Paket Horizon Agent mit aktiviertem True SSO.
    # sudo ./install_viewagent.sh -T yes
    Hinweis: Um die True SSO-Funktion zu verwenden, müssen Sie die erforderliche Version von Horizon Agent für Ihre Linux-Distribution installieren, wie in der folgenden Tabelle beschrieben.
    Linux-Distribution Horizon Agent
    RHEL/CentOS 8.1 Horizon Agent 7.12 oder höher
    RHEL/CentOS 8.0 Horizon Agent 7.11 oder höher
  7. Ändern Sie die Konfigurationsdatei /etc/vmware/viewagent-custom.conf, sodass sie die folgende Zeile enthält.
    NetbiosDomain = MYDOMAIN
  8. Starten Sie das System neu und melden Sie sich erneut an.