Um True SSO auf einem Ubuntu-/Debian-Desktop zu aktivieren, integrieren Sie die virtuelle Basismaschine (VM) mit einer Active Directory (AD)-Domäne unter Verwendung der SSSD-Lösung. Installieren Sie dann das Stammzertifikat der Zertifizierungsstelle (CA), um die vertrauenswürdige Authentifizierung zu unterstützen, bevor Sie Horizon Agent installieren.

Verwenden Sie das folgende Verfahren, um True SSO mit SSSD auf einer Ubuntu/Debian-VM zu aktivieren.

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

Platzhalterwert Beschreibung
dns_IP_ADDRESS IP-Adresse Ihres DNS-Namenservers
mydomain.com DNS-Name Ihrer Active Directory-Domäne
MYDOMAIN.COM DNS-Name Ihrer Active Directory-Domäne in Großbuchstaben
myhost Hostname Ihrer Ubuntu-/Debian-VM
MYDOMAIN DNS-Name der Arbeitsgruppe oder NT-Domäne, in der sich Ihr Samba-Server befindet, in Großbuchstaben
ads-hostname Hostname Ihres AD-Servers
admin-user Benutzername des Administrators der AD-Domäne

Voraussetzungen

  • Stellen Sie sicher, dass die VM eine der folgenden Distributionen ausführt.
    • Ubuntu 22.04/20.04
    • Debian 12.x/11.x
    Hinweis: True SSO mit SSSD wird für Debian 10.x-Desktops nicht unterstützt. Um True SSO auf einem Debian 10.x-Desktop zu konfigurieren, verwenden Sie stattdessen den Samba-Domänenbeitritt, wie in Konfigurieren von True SSO mit Samba für Ubuntu-/Debian-Desktops beschrieben.
  • Konfigurieren Sie True SSO für Workspace ONE Access und Horizon Connection Server.
  • Rufen Sie ein Stamm-CA-Zertifikat ab und speichern Sie es in /tmp/certificate.cer auf der Ubuntu-/Debian-VM. Siehe How to export Root Certification Authority Certificate.

    Wenn es sich bei einer untergeordneten CA auch um eine ausstellende Stelle handelt, rufen Sie die gesamte Kette der Stamm- und untergeordneten CA-Zertifikate ab und speichern Sie sie im Ordner /tmp/certificate.cer auf der VM.

Prozedur

  1. Überprüfen Sie auf der Basis-VM die Netzwerkverbindung mit Active Directory.
    sudo realm discover mydomain.com
  2. Installieren Sie die erforderlichen Abhängigkeitspakete.
    sudo apt-get install sssd-tools sssd libnss-sss libpam-sss adcli samba-common-bin krb5-user krb5-pkinit
  3. Treten Sie der AD-Domäne bei.
    sudo realm join --verbose mydomain.com -U admin-user
  4. Installieren Sie das Stamm-CA-Zertifikat oder die Zertifikatskette.
    1. Suchen Sie das heruntergeladene Stamm-CA-Zertifikat oder die Zertifikatskette und übertragen Sie es in eine PEM-Datei.
      sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    2. Kopieren Sie das Zertifikat in die Datei /etc/sssd/pki/sssd_auth_ca_db.pem.
      sudo 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 = 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 = +gdm-vmwcred #Add this line for SSO
    ad_gpo_access_control = permissive #Only add this line for Ubuntu 20.04 and Debian 12 to fix https://bugs.launchpad.net/ubuntu/+source/sssd/+bug/1934997
     
    [pam] #Add pam section for certificate login
    pam_cert_auth = True #Add this line to enable certificate login for system
    pam_p11_allowed_services = +gdm-vmwcred #Add this line to enable certificate login 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. Ändern Sie den Zugriffsmodus für die Konfigurationsdatei /etc/krb5.conf, um sie bearbeitbar zu machen.
    sudo chmod 644 /etc/krb5.conf
  7. Bearbeiten Sie die Datei /etc/krb5.conf gemäß folgendem Beispiel.
    [realms]
     MYDOMAIN.COM = {
        kdc = kdcserver.mydomain.com
        admin_server = dnsserver.mydomain.com
        pkinit_anchors = DIR:/etc/sssd/pki
        pkinit_kdc_hostname = kdcserver.mydomain.com
        pkinit_eku_checking = kpServerAuth
     }
     
    [domain_realm]
        .mydomain.com = MYDOMAIN.COM
        mydomain.com = MYDOMAIN.COM
  8. Installieren Sie das Paket Horizon Agent mit aktiviertem True SSO.
    sudo ./install_viewagent.sh -T yes
  9. Ändern Sie die Konfigurationsdatei /etc/vmware/viewagent-custom.conf, sodass sie die folgende Zeile enthält.
    NetbiosDomain = MYDOMAIN
  10. Starten Sie die VM neu und melden Sie sich erneut an.