Linux Virtual Delivery Agent

Verbundauthentifizierungsdienst

Mit dem Verbundauthentifizierungsdienst (Federated Authentication Service, FAS) können Sie Benutzer authentifizieren, die sich bei einem Linux VDA anmelden. Der Linux VDA verwendet dieselbe Windows-Umgebung wie der Windows VDA für das FAS-Anmeldefeature. Informationen zur Konfiguration der Windows-Umgebung für FAS finden Sie unter Verbundauthentifizierungsdienst. Dieser Artikel enthält zusätzliche Informationen speziell für den Linux VDA.

Hinweis:

  • Der Linux VDA bietet keine Unterstützung für die Richtlinie In-session Behavior.

  • Der Linux VDA verwendet kurze Verbindungen, um Daten an FAS-Server zu übertragen.

Unterstützte Distributionen

FAS unterstützt einige Linux-Distributionen und Methoden zum Domänenbeitritt. Siehe folgende Tabelle:

  Winbind SSSD Centrify PBIS
Amazon Linux 2 Ja Ja Ja Ja
Debian 11.7/11.3 Ja Ja Ja Ja
RHEL 9.2/9.0 Ja Ja Nein Nein
RHEL 8.8/8.6 Ja Ja Ja Ja
RHEL 7.9, CentOS 7.9 Ja Ja Ja Ja
Rocky Linux 9.2/9.0 Ja Ja Nein Nein
Rocky Linux 8.8/8.6 Ja Ja Nein Nein
SUSE 15.5 Ja Ja Ja Nein
Ubuntu 22.04/20.04 Ja Ja Ja Ja

Konfigurieren des FAS auf dem Linux VDA

FAS-Unterstützung auf RHEL/Rocky Linux 8.x und höher

FAS ist abhängig von dem Modul pam_krb5, das unter RHEL/Rocky Linux 8.x veraltet ist. Die folgenden Schritte sind erforderlich, wenn Sie FAS auf RHEL/Rocky Linux 8.x-Maschinen oder höher verwenden möchten, die im Multisitzungs-OS-Modus bereitgestellt werden. Für FAS auf RHEL/Rocky Linux 8.x-Maschinen und höher, die im Einzelsitzungs-OS-Modus (VDI-Modus) bereitgestellt werden, können Sie die folgenden Schritte überspringen.

  1. Laden Sie den Quellcode pam_krb5-2.4.8-6 von der folgenden Website herunter:

    https://centos.pkgs.org/7/centos-x86_64/pam_krb5-2.4.8-6.el7.x86_64.rpm.html.

  2. Erstellen und installieren Sie das Modul pam_krb5.

    yum install make gcc krb5-devel pam-devel autoconf libtool
    
    rpm2cpio pam_krb5-2.4.8-6.el7.src.rpm | cpio -div
    
    tar xvzf pam_krb5-2.4.8.tar.gz
    
    cd pam_krb5-2.4.8
    
    ./configure --prefix=/usr
    
    make
    
    make install
    <!--NeedCopy-->
    
  3. Überprüfen Sie, ob pam_krb5.so unter /usr/lib64/security/ vorliegt.

    ls -l /usr/lib64/security | grep pam_krb5
    <!--NeedCopy-->
    

Installieren von Zertifikaten

Für die Überprüfung von Benutzerzertifikaten installieren Sie das Stammzertifizierungsstellenzertifikat und alle Zwischenzertifikate auf dem VDA. Beispiel: Zum Installieren des Stammzertifizierungsstellenzertifikats rufen Sie das AD-Stammzertifikat aus dem vorherigen Schritt ZS-Zertifikat von der Microsoft-Zertifizierungsstelle (in AD) abrufen ab oder laden Sie es vom Stammzertifizierungsstellenserver http://CA-SERVER/certsrvherunter.

Hinweis:

Die folgenden Befehle gelten auch für die Konfiguration eines Zwischenzertifikats.

Um beispielsweise eine DER-Datei (.crt, .cer, .der) in PEM zu konvertieren, führen Sie einen Befehl ähnlich dem folgenden aus:

sudo openssl x509 -inform der -in root.cer -out root.pem
<!--NeedCopy-->

Anschließend installieren Sie mit diesem oder einem ähnlichen Befehl das Stammzertifizierungsstellenzertifikat im Verzeichnis openssl:

sudo cp root.pem /etc/pki/CA/certs/
<!--NeedCopy-->

Hinweis:

Speichern Sie das Stammzertifizierungsstellenzertifikat nicht im Verzeichnis /root. Andernfalls besitzt FAS keine Leseberechtigung für das Stammzertifizierungsstellenzertifikat.

Ausführen von ctxfascfg.sh

Führen Sie das Skript ctxfascfg.sh aus, um FAS zu konfigurieren:

sudo /opt/Citrix/VDA/sbin/ctxfascfg.sh
<!--NeedCopy-->

Sie können ctxfascfg.sh im automatischen Modus ausführen. Legen Sie die folgenden Umgebungsvariablen fest, bevor Sie das Skript im automatischen Modus ausführen:

  • CTX_FAS_ADINTEGRATIONWAY=winbind | sssd | centrify | pbis: Die Active Directory-Integrationsmethode; das entspricht CTX_EASYINSTALL_ADINTEGRATIONWAY, wenn CTX_EASYINSTALL_ADINTEGRATIONWAY angegeben wurde. Wenn CTX_EASYINSTALL_ADINTEGRATIONWAY nicht angegeben ist, verwendet CTX_FAS_ADINTEGRATIONWAY die eigene Werteinstellung.

  • CTX_FAS_CERT_PATH =<certificate path>: Gibt den vollständigen Pfad an, in dem Stammzertifikate und alle Zwischenzertifikate gespeichert werden.

  • CTX_FAS_KDC_HOSTNAME: Gibt den Hostnamen des Schlüsselverteilungscenters (KDC) an, wenn Sie PBIS auswählen.

  • CTX_FAS_PKINIT_KDC_HOSTNAME: Gibt den Hostnamen des PKINIT KDC an, der CTX_FAS_KDC_HOSTNAME ist, sofern nicht anders angegeben. Wenn Sie mehrere Delivery Controller haben, fügen Sie die Hostnamen aller KDCs der Domäne zu pkinit_kdc_hostname in der Datei /etc/krb5.conf hinzu. Weitere Informationen finden Sie im Knowledge Center-Artikel CTX322129.

  • CTX_FAS_SERVER_LIST=’list-fas-servers’ – Die Server für den Verbundauthentifizierungsdienst (FAS) werden über die AD-Gruppenrichtlinie konfiguriert. Informationen zur Einstellung der FAS-Richtlinie im Domänen-Gruppenrichtlinienobjekt finden Sie unter Gruppenrichtlinie konfigurieren. Der Linux VDA unterstützt die AD-Gruppenrichtlinie nicht, Sie können jedoch stattdessen eine durch Semikolons getrennte Liste mit FAS-Servern angeben. Die Reihenfolge muss mit der Reihenfolge in der AD-Gruppenrichtlinie übereinstimmen. Wenn eine Serveradresse entfernt wird, füllen Sie die leere Stelle mit der Textzeichenfolge ’<none>‘ auf und ändern nicht die Reihenfolge der Serveradressen. Um ordnungsgemäß mit den FAS-Servern zu kommunizieren, stellen Sie sicher, dass Sie eine Portnummer anhängen, die mit der auf den FAS-Servern angegebenen Portnummer übereinstimmt, z. B. CTX_XDL_FAS_LIST=’fas_server_1_url:port_number; fas_server_2_url: port_number; fas_server_3_url: port_number’.

    Um eine vorhandene Linux VDA-Installation zu aktualisieren, können Sie mit den folgenden Befehlen die FAS-Server einzurichten und den ctxvda-Dienst neu zu starten, damit Ihre Einstellung wirksam wird.

     sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -t "REG_SZ" -v "Addresses" -d "<Your-FAS-Server-List>" --force
    
     service ctxjproxy restart
    
     service ctxvda restart
     <!--NeedCopy-->
    

    Um die FAS-Server über ctxreg zu aktualisieren, führen Sie die folgenden Befehle aus:

     sudo /opt/Citrix/VDA/bin/ctxreg update -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -v "Addresses" -d "<Your-FAS-Server-List>"
    
     service ctxjproxy restart
    
     service ctxvda restart
     <!--NeedCopy-->
    

Wählen Sie die korrekte Active Directory-Integrationsmethode aus und geben Sie den korrekten Pfad zu den Zertifikaten ein (z. B. /etc/pki/CA/certs/).

Das Skript installiert die Pakete krb5-pkinit und pam_krb5 und legt die relevanten Konfigurationsdateien fest.

FAS deaktivieren

Um FAS auf dem Linux VDA zu deaktivieren, entfernen Sie alle FAS-Server aus ConfDB mit den folgenden Befehlen:

sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -t "REG_SZ" -v "Addresses" -d "" --force

service ctxjproxy restart

service ctxvda restart
<!--NeedCopy-->

Einschränkung

  • FAS unterstützt den Sperrbildschirm noch nicht. Wenn Sie in einer Sitzung auf die Sperrschaltfläche klicken, können Sie sich mit FAS nicht erneut bei der Sitzung anmelden.
  • Der Artikel Übersicht über die Architekturen des Verbundauthentifizierungsdiensts enthält eine Übersicht über die gebräuchlichen FAS-Architekturen, die in dieser Version unterstützt werden. Das Einbinden über Azure AD mit Windows 10 ist nicht möglich.

Problembehandlung

Vor der Problembehandlung bei FAS achten Sie auf Folgendes:

  • Der Linux VDA ist korrekt installiert und konfiguriert.
  • Eine Nicht-FAS-Sitzung kann mit Kennwortauthentifizierung erfolgreich im Common Store gestartet werden.

Wenn Sitzungen ohne FAS-Server fehlerfrei ausgeführt werden, setzen Sie die HDX-Protokollebene der Login-Klasse auf VERBOSE und die VDA-Protokollebene auf TRACE. Informationen zum Aktivieren von Protokollen zur Ablaufverfolgung (Tracing) für Linux VDA finden Sie im Knowledge Center-Artikel CTX220130.

Sie können Ihre Linux VDA-Umgebung auch mit dem Linux XDPing-Tool auf mögliche Konfigurationsprobleme überprüfen.

Fehler bei der FAS-Serverkonfiguration

Der Start einer Sitzung über den FAS-Store schlägt fehl.

Überprüfen Sie /var/log/xdl/hdx.log und suchen Sie ein Fehlerprotokoll folgender Art:

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_user: [Logon Type] Federated Authentication Logon.

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_fas: entry

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: connect_fas: start connect to server 0

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: connect_fas0: failed to connect: Connection refused.

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_fas: failed to connect to server [0], please confirm if fas service list is well configurated in condb

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_fas: exit, 43

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_user: failed to validate fas credential

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: LoginBoxValidate: failed validation of user 'user1@CTXDEV.LOCAL', INVALID_PARAMETER

<!--NeedCopy-->

Lösung

Stellen Sie mit folgendem Befehl sicher, dass der Citrix Registrierungswert “HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService” auf <Your-FAS-Server-List> festgelegt ist.

sudo /opt/Citrix/VDA/bin/ctxreg dump | grep "UserCredentialService"
<!--NeedCopy-->

Wenn die Einstellung falsch ist, legen Sie sie erneut fest, wie weiter oben im Schritt Einrichten von FAS-Servern beschrieben.

Falsche Konfiguration des Zertifizierungsstellenzertifikats

Der Start einer Sitzung über den FAS-Store schlägt fehl. Ein graues Fenster wird für einige Sekunden angezeigt.

Ungültige Anmeldung, weil die Konfiguration des Stammzertifizierungsstellenzertifikats falsch ist

Überprüfen Sie /var/log/xdl/hdx.log und suchen Sie ein Fehlerprotokoll folgender Art:

2021-01-28 01:47:46.210 <P30656:S5> citrix-ctxlogin: get_logon_certificate: entry

2021-01-28 01:47:46.210 <P30656:S5> citrix-ctxlogin: check_caller: current process: pid [30656], name [/opt/Citrix/VDA/bin/ctxlogin]

2021-01-28 01:47:46.210 <P30656:S5> citrix-ctxlogin: get_public_certificate: entry

2021-01-28 01:47:46.211 <P30656:S5> citrix-ctxlogin: query_fas: waiting for response...

2021-01-28 01:47:46.270 <P30656:S5> citrix-ctxlogin: query_fas: query to server success

2021-01-28 01:47:46.270 <P30656:S5> citrix-ctxlogin: get_public_certificate: exit

2021-01-28 01:47:46.270 <P30656:S5> citrix-ctxlogin: fas_base64_decode: input size 1888

2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: fas_base64_decode: output size 1415

2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: get_logon_certificate: get logon certificate success

2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: cache_certificate: cache certificate success

2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: get_logon_certificate: exit, 0

2021-01-28 01:47:48.060 <P30656:S5> citrix-ctxlogin: validate_user: pam_authenticate err,can retry for user user1@CTXDEV.LOCAL
<!--NeedCopy-->

Lösung

Stellen Sie sicher, dass Sie den vollständigen Pfad, in dem das Stammzertifizierungsstellenzertifikat und alle Zwischenzertifikate gespeichert werden, korrekt in /etc/krb5.conf festgelegt haben. Der vollständige Pfad ist dem folgenden ähnlich:


 [realms]

EXAMPLE.COM = {

    ......

    pkinit_anchors = DIR:/etc/pki/CA/certs/

    ......

}  
<!--NeedCopy-->

Wenn die vorhandene Einstellung falsch ist, legen Sie sie erneut fest, wie weiter oben im Schritt Installieren von Zertifikaten beschrieben.

Überprüfen Sie auch, ob das Stammzertifizierungsstellenzertifikat gültig ist.

Kontozuordnungsfehler bei Spiegelung

FAS ist für die SAML-Authentifizierung konfiguriert. Der folgende Fehler kann auftreten, wenn ein Benutzer der Active Directory-Verbunddienste (AD FS) den Benutzernamen und das Kennwort auf der AD FS-Anmeldeseite eingibt.

Kontozuordnungsfehler bei Spiegelung

Die Fehlermeldung zeigt an, dass der Benutzer zwar erfolgreich in AD FS verifiziert wurde, aber kein gespiegeltes Konto für den Benutzer in AD konfiguriert ist.

Lösung

Richten Sie das gespiegelte Konto in AD ein.

AD FS nicht konfiguriert

Bei einem Anmeldeversuch beim FAS-Store tritt folgender Fehler auf:

AD FS nicht konfiguriert

Das Problem tritt auf, wenn der FAS-Speicher für die SAML-Authentifizierung konfiguriert ist, aber die ADFS-Bereitstellung fehlt.

Lösung

Stellen Sie den AD FS-Identitätsanbieter für den Verbundauthentifizierungsdienst (FAS) bereit. Weitere Informationen finden Sie unter AD FS-Bereitstellung des Verbundauthentifizierungsdiensts.

Verwandte Informationen

Bekannte Probleme

Beim Einsatz von FAS kann der Start einer veröffentlichten Desktop- oder App-Sitzung mit nicht-englischen Zeichen fehlschlagen.

Fehlgeschlagener Sitzungsstart mit nicht-englischen Zeichen

Workaround

Klicken Sie im ZS-Tool mit der rechten Maustaste auf Vorlagen verwalten und ändern Sie die Vorlage für Citrix_SmartcardLogon von Aus diesen Informationen in Active Directory erstellen in Informationen werden in der Anforderung angegeben:

Option "Informationen werden in der Anforderung angegeben"

Verbundauthentifizierungsdienst