Um die True SSO-Funktion auf einer virtuellen Ubuntu-/Debian-Maschine (VM) zu aktivieren, installieren Sie die Bibliotheken, von denen die True SSO-Funktion abhängig ist, das Stammzertifikat der Zertifizierungsstelle (Certificate Authority, CA) für die vertrauenswürdige Authentifizierung und Horizon Agent. Wenn die True SSO-Authentifizierung auch von einer untergeordneten CA ausgestellt wird, müssen Sie die gesamte Zertifikatskette aus Stamm- und untergeordneten CA-Zertifikaten installieren. Um die Einrichtung der Authentifizierung abzuschließen, müssen Sie einige Konfigurationsdateien bearbeiten.

Hinweis: Alternativ können Sie True SSO mithilfe der SSSD-Domänenbeitrittslösung wie in Konfigurieren von True SSO mit SSSD auf Ubuntu-/Debian-Desktops beschrieben konfigurieren.

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

Voraussetzungen

  • Konfigurieren Sie True SSO für Workspace ONE Access und Horizon Connection Server.
  • Führen Sie die unter Domänenbeitritt einer Ubuntu-/Debian-VM mit Samba für True SSO aufgeführten Schritte aus.
  • 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. Installieren Sie das pkcs11-Unterstützungspaket auf der VM.
    sudo apt install libpam-pkcs11
  2. Installieren Sie das libnss3-tools-Paket.
    sudo apt install libnss3-tools
  3. 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. Erstellen Sie das Verzeichnis /etc/pki/nssdb für die Systemdatenbank.
      sudo mkdir -p /etc/pki/nssdb
    3. Verwenden Sie den Befehl certutil, um das Stamm-CA-Zertifikat oder die Zertifikatskette in der Systemdatenbank /etc/pki/nssdb zu installieren.
      Ersetzen Sie „root CA cert“ im folgenden Beispielbefehl durch den Namen des Stamm-CA-Zertifikats in der Systemdatenbank.
      sudo certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
    4. Erstellen Sie das Verzeichnis /etc/pam_pkcs11/cacerts und kopieren Sie das Stamm-CA-Zertifikat oder die Zertifikatskette in dieses Verzeichnis.
      sudo mkdir -p /etc/pam_pkcs11/cacerts
      sudo cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts
    5. Erstellen Sie einen Hash-Link für das Stamm-CA-Zertifikat oder die Zertifikatskette. Führen Sie den folgenden Befehl im Verzeichnis /etc/pam_pkcs11/cacerts aus.
      sudo pkcs11_make_hash_link
  4. Installieren Sie das Paket Horizon Agent mit aktiviertem True SSO.
    sudo ./install_viewagent.sh -T yes
  5. Fügen Sie den folgenden Parameter zur benutzerdefinierten Horizon Agent-Konfigurationsdatei /etc/vmware/viewagent-custom.conf hinzu. Verwenden Sie das folgende Beispiel, in dem NETBIOS_NAME_OF_DOMAIN der NetBIOS-Name der Domäne Ihrer Organisation ist.
    NetbiosDomain=NETBIOS_NAME_OF_DOMAIN
  6. Bearbeiten Sie die Konfigurationsdatei /etc/pam_pkcs11/pam_pkcs11.conf.
    1. Erstellen Sie bei Bedarf die Konfigurationsdatei /etc/pam_pkcs11/pam_pkcs11.conf. Suchen Sie die Beispieldatei in /usr/share/doc/libpam-pkcs11/examples, kopieren Sie sie in das Verzeichnis /etc/pam_pkcs11 und benennen Sie die Datei in pam_pkcs11.conf um. Fügen Sie gegebenenfalls Ihre Systeminformationen zum Inhalt der Datei hinzu.
    2. Ändern Sie die Konfigurationsdatei /etc/pam_pkcs11/pam_pkcs11.conf, damit sie in etwa den im folgenden Beispiel gezeigten Inhalt enthält.
      Hinweis: Hängen Sie bei Ubuntu 20.04 oder höher ms am Ende der Zeile use_mappers an.
      use_pkcs11_module = coolkey;
      pkcs11_module coolkey {
        module = /usr/lib/vmware/viewagent/sso/libvmwpkcs11.so;
        slot_num = 0;
        ca_dir = /etc/pam_pkcs11/cacerts;
        nss_dir = /etc/pki/nssdb;
      }
      
      mapper ms {
        debug = false;
        module = internal;
        # module = /usr/$LIB/pam_pkcs11/ms_mapper.so;
        ignorecase = false;
        # ignore domain name
        ignoredomain = true;
        domain = "DOMAIN.COM"; #<== Replace "DOMAIN.COM" with your organization's domain name
      }
      
      use_mappers = digest, cn, pwent, uid, mail, subject, null, ms;  #<== For Ubuntu 20.04 or later, append "ms" at end of use_mappers
  7. Legen Sie im Linux-Terminal die Zugriffsberechtigungen für die Konfigurationsdatei /etc/krb5.conf auf 644 fest (siehe folgendes Beispiel).
    sudo chmod 644 /etc/krb5.conf

    Stellen Sie sicher, dass die Berechtigungen geändert wurden.

    ls -l /etc/krb5.conf
    
    -rw-r--r-- 1 root root xxx xx xx xxxx /etc/krb5.conf
    Hinweis: Wenn Sie die Berechtigungen der Datei /etc/krb5.conf nicht wie angegeben ändern, funktioniert die True SSO-Funktion möglicherweise nicht.
  8. Starten Sie die VM neu und melden Sie sich erneut an.