Federated Authentication Service
Sie können den Federated Authentication Service (FAS) verwenden, um Benutzer zu authentifizieren, die sich bei einem Linux VDA anmelden. Der Linux VDA verwendet dieselbe Windows-Umgebung wie der Windows VDA für die FAS-Anmeldefunktion. Informationen zum Konfigurieren der Windows-Umgebung für FAS finden Sie unter Federated Authentication Service. Dieser Artikel enthält zusätzliche Informationen, die speziell für den Linux VDA gelten.
Hinweis:
Der Linux VDA unterstützt die Richtlinie Verhalten in der Sitzung nicht.
Der Linux VDA verwendet kurze Verbindungen, um Daten mit FAS-Servern zu übertragen.
Ab Release 2206 können Sie den FAS-Port auf der Linux VDA-Seite über CTX_XDL_FAS_LIST in der ctxsetup.sh anpassen. Weitere Informationen finden Sie im Installationsartikel für den Linux VDA, basierend auf Ihrer Distribution.
FAS auf dem Linux VDA konfigurieren
FAS-Unterstützung unter RHEL 8.x und Rocky Linux 8.x
FAS hängt vom Modul pam_krb5 ab, das unter RHEL 8.x und Rocky Linux 8.x als veraltet gilt. Die folgenden Schritte sind erforderlich, wenn Sie FAS auf RHEL 8.x- und Rocky Linux 8.x-Maschinen verwenden möchten, die im Multi-Session-OS-Modus bereitgestellt werden. Für FAS auf RHEL 8.x- und Rocky Linux 8.x-Maschinen, die im Single-Session-OS (VDI)-Modus bereitgestellt werden, können Sie die folgenden Schritte überspringen.
-
Laden Sie den pam_krb5-2.4.8-6-Quellcode von der folgenden Website herunter:
https://centos.pkgs.org/7/centos-x86_64/pam_krb5-2.4.8-6.el7.x86_64.rpm.html.
-
Erstellen und installieren Sie das pam_krb5-Modul unter RHEL 8.x und Rocky Linux 8.x.
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--> -
Vergewissern Sie sich, dass pam_krb5.so unter /usr/lib64/security/ vorhanden ist.
ls -l /usr/lib64/security | grep pam_krb5 <!--NeedCopy-->
FAS-Server festlegen
Um FAS in einer neuen Linux VDA-Installation zu verwenden, geben Sie den FQDN jedes FAS-Servers ein, wenn Sie ctxinstall.sh oder ctxsetup.sh ausführen. Da der Linux VDA keine AD-Gruppenrichtlinien unterstützt, können Sie stattdessen eine durch Semikolons getrennte Liste von FAS-Servern angeben. Wenn eine Serveradresse entfernt wird, füllen Sie die Lücke mit der Textzeichenfolge <none> und ändern Sie nicht die Reihenfolge der Serveradressen.
Um eine vorhandene Linux VDA-Installation zu aktualisieren, können Sie ctxsetup.sh erneut ausführen, um die FAS-Server festzulegen. Oder Sie können die folgenden Befehle ausführen, um die FAS-Server festzulegen und den Dienst ctxvda 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-->
-
Zertifikate installieren
- Zur Überprüfung der Benutzerzertifikate installieren Sie das Stamm-CA-Zertifikat und alle Zwischenzertifikate auf dem VDA. Um beispielsweise das Stamm-CA-Zertifikat zu installieren, rufen Sie das AD-Stammzertifikat aus dem vorhergehenden Schritt Abrufen des CA-Zertifikats von der Microsoft CA (auf AD) ab oder laden Sie dessen DER-Format vom Stamm-CA-Server
http://CA-SERVER/certsrvherunter.
Hinweis:
Die folgenden Befehle gelten auch für die Konfiguration eines Zwischenzertifikats.
Konvertieren Sie eine DER-Datei (.crt, .cer, .der) in PEM, indem Sie einen Befehl ähnlich dem folgenden ausführen:
sudo openssl x509 -inform der -in root.cer -out root.pem
<!--NeedCopy-->
- Installieren Sie dann das Stamm-CA-Zertifikat im Verzeichnis
openssl, indem Sie einen Befehl ähnlich dem folgenden ausführen:
sudo cp root.pem /etc/pki/CA/certs/
<!--NeedCopy-->
Hinweis:
Legen Sie das Stamm-CA-Zertifikat nicht unter dem Pfad /root ab. Andernfalls verfügt FAS nicht über die Leseberechtigung für das Stamm-CA-Zertifikat.
ctxfascfg.sh ausführen
- Führen Sie das Skript ctxfascfg.sh aus, um FAS zu konfigurieren:
sudo /opt/Citrix/VDA/sbin/ctxfascfg.sh
<!--NeedCopy-->
Umgebungsvariablen werden hinzugefügt, damit ctxfascfg.sh im stillen Modus ausgeführt werden kann:
-
**CTX_FAS_ADINTEGRATIONWAY=winbind sssd centrify pbis**: Bezeichnet die Active Directory-Integrationsmethode, die CTX_EASYINSTALL_ADINTEGRATIONWAYentspricht, wennCTX_EASYINSTALL_ADINTEGRATIONWAYangegeben ist. WennCTX_EASYINSTALL_ADINTEGRATIONWAYnicht angegeben ist, verwendetCTX_FAS_ADINTEGRATIONWAYseine eigene Werteinstellung. -
CTX_FAS_CERT_PATH =<Zertifikatspfad>: Gibt den vollständigen Pfad an, der das Stammzertifikat und alle Zwischenzertifikate speichert.
-
CTX_FAS_KDC_HOSTNAME: Gibt den Hostnamen des Key Distribution Center (KDC) an, wenn Sie PBIS auswählen.
- CTX_FAS_PKINIT_KDC_HOSTNAME: Gibt den PKINIT KDC-Hostnamen an, der CTX_FAS_KDC_HOSTNAME entspricht, 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.
Wählen Sie die richtige Active Directory-Integrationsmethode und geben Sie dann den korrekten Pfad der Zertifikate ein (z. B. /etc/pki/CA/certs/).
Das Skript installiert dann 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 der 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 nur begrenzte Linux-Plattformen und AD-Integrationsmethoden. Siehe die folgende Matrix:
Winbind SSSD Centrify PBIS Amazon Linux 2 Ja Ja Ja Ja Debian 11.3 Ja Ja Ja Ja RHEL 9.1/9.0 Ja Ja Nein Nein RHEL 8.7/8.6/8.4 Ja Ja Ja Ja RHEL 7.9, CentOS 7.9 Ja Ja Ja Ja Rocky Linux 9.1/9.0 Ja Ja Nein Nein Rocky Linux 8.7/8.6 Ja Ja Nein Nein SUSE 15.4 Ja Ja Ja Nein Ubuntu 22.04/20.04/18.04 Ja Ja Ja Ja - FAS unterstützt den Sperrbildschirm noch nicht. Wenn Sie in einer Sitzung auf die Sperrschaltfläche klicken, können Sie sich nicht erneut über FAS bei der Sitzung anmelden.
- Dieses Release unterstützt nur die gängigen FAS-Bereitstellungen, die im Artikel Architekturübersicht des Federated Authentication Service zusammengefasst sind, und beinhaltet nicht Windows 10 Azure AD Join.
Fehlerbehebung
Bevor Sie FAS beheben, stellen Sie sicher, dass der Linux VDA korrekt installiert und konfiguriert ist und eine Nicht-FAS-Sitzung erfolgreich im gemeinsamen Store mithilfe der Kennwortauthentifizierung gestartet werden kann.
Wenn Nicht-FAS-Sitzungen ordnungsgemäß funktionieren, setzen Sie die HDX-Protokollierungsstufe der Klasse Login auf VERBOSE und die VDA-Protokollierungsstufe auf TRACE. Informationen zum Aktivieren der Ablaufverfolgungsprotokollierung für den Linux VDA finden Sie im Knowledge Center-Artikel CTX220130.
Sie können auch das Linux-Tool XDPing verwenden, um nach häufigen Konfigurationsproblemen zu suchen, die in Ihrer Linux VDA-Umgebung auftreten können. Weitere Informationen finden Sie unter XDPing.
FAS-Server-Konfigurationsfehler
Das Starten einer Sitzung aus dem FAS-Store schlägt fehl.
Überprüfen Sie /var/log/xdl/hdx.log und suchen Sie nach einem Fehlerprotokoll, das dem folgenden ähnelt:
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
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Citrix-Registrierungswert “HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService” auf <Ihre-FAS-Server-Liste> festgelegt ist.
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep "UserCredentialService"
<!--NeedCopy-->
Wenn die vorhandene Einstellung falsch ist, befolgen Sie den vorhergehenden Schritt FAS-Server festlegen, um sie erneut festzulegen.
Falsche CA-Zertifikatkonfiguration
Das Starten einer Sitzung aus dem FAS-Store schlägt fehl. Ein graues Fenster erscheint und verschwindet nach einigen Sekunden wieder.

Überprüfen Sie /var/log/xdl/hdx.log und suchen Sie nach einem Fehlerprotokoll, das dem folgenden ähnelt:
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
Vergewissern Sie sich, dass Sie in /etc/krb5.conf den vollständigen Pfad, der das Root-CA-Zertifikat und alle Zwischenzertifikate speichert, korrekt festgelegt haben. Der vollständige Pfad ähnelt dem folgenden:
[realms]
EXAMPLE.COM = {
......
pkinit_anchors = DIR:/etc/pki/CA/certs/
......
}
<!--NeedCopy-->
Wenn die vorhandene Einstellung falsch ist, befolgen Sie den vorhergehenden Schritt Zertifikate installieren, um sie erneut festzulegen.
Überprüfen Sie alternativ, ob das Root-CA-Zertifikat gültig ist.
Fehler bei der Schattenkontenzuordnung
FAS ist über SAML-Authentifizierung konfiguriert. Der folgende Fehler kann auftreten, nachdem ein ADFS-Benutzer den Benutzernamen und das Kennwort auf der ADFS-Anmeldeseite eingegeben hat.

Dieser Fehler weist darauf hin, dass der ADFS-Benutzer erfolgreich verifiziert wurde, aber kein Schattenbenutzer in AD konfiguriert ist.
Lösung
Legen Sie das Schattenkonto in AD fest.
ADFS nicht konfiguriert
Der folgende Fehler tritt bei einem Anmeldeversuch im FAS-Store auf:

Das Problem tritt auf, wenn der FAS-Store für die Verwendung der SAML-Authentifizierung konfiguriert ist, aber die ADFS-Bereitstellung fehlt.
Lösung
Stellen Sie den ADFS IdP für den Federated Authentication Service bereit. Weitere Informationen finden Sie unter Bereitstellung des Federated Authentication Service ADFS.
Zugehörige Informationen
- Die gängigen FAS-Bereitstellungen sind im Artikel Architekturübersicht des Federated Authentication Service zusammengefasst.
- Anleitungsartikel werden im Kapitel Erweiterte Konfiguration des Federated Authentication Service vorgestellt.
Bekanntes Problem
Wenn FAS verwendet wird, kann es fehlschlagen, eine veröffentlichte Desktop- oder App-Sitzung mit nicht-englischen Zeichen zu starten.

Problemumgehung
Klicken Sie im CA-Tool mit der rechten Maustaste auf Vorlagen verwalten, um die Vorlage Citrix_SmartcardLogon von Aus diesen Active Directory-Informationen erstellen in In der Anforderung bereitstellen zu ändern:
