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 | Quest | |
---|---|---|---|---|---|
Amazon Linux 2 | Ja | Ja | Ja | Ja | Nein |
Debian 12.7/12.5/11.11 | Ja | Ja | Ja | Ja | Nein |
RHEL 9.4/9.2 | Ja | Ja | Nein | Nein | Ja |
RHEL 8.10/8.8 | Ja | Ja | Ja | Ja | Ja |
Rocky Linux 9.4/9.2 | Ja | Ja | Nein | Nein | Nein |
Rocky Linux 8.10/8.8 | Ja | Ja | Nein | Nein | Nein |
SUSE 15.6 | Ja | Ja | Ja | Nein | Nein |
Ubuntu 24.04 | Ja | Ja | Nein | Nein | Nein |
Ubuntu 22.04/20.04 | Ja | Ja | Ja | Ja | Ja |
Konfigurieren des FAS auf dem Linux VDA
Installieren von Zertifikaten
Für die Überprüfung von Benutzerzertifikaten installieren Sie das Stammzertifizierungsstellenzertifikat und alle Zwischenzertifikate auf dem VDA. Um beispielsweise das Stamm-ZS-Zertifikat zu installieren, holen Sie sich das AD-Stammzertifikat aus dem vorhergehenden Schritt Rufen Sie das ZS-Zertifikat von der Microsoft-Zertifizierungsstelle (auf AD) ab oder laden Sie es vom Stamm-ZS-Server http://CA-SERVER/certsrv
herunter.
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 stillen 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 | quest: Bezeichnet die Active Directory-Integrationsmethode, die
CTX_EASYINSTALL_ADINTEGRATIONWAY
entspricht, wennCTX_EASYINSTALL_ADINTEGRATIONWAY
angegeben ist. WennCTX_EASYINSTALL_ADINTEGRATIONWAY
nicht angegeben ist, verwendetCTX_FAS_ADINTEGRATIONWAY
eine eigene Werteinstellung. -
CTX_FAS_CERT_PATH =<Zertifikatspfad>: Gibt den vollständigen Pfad an, in dem das Stammzertifikat und alle Zwischenzertifikate gespeichert sind.
-
CTX_FAS_KDC_HOSTNAME: Gibt den Hostnamen des Schlüsselverteilungscenters (KDC) an, wenn Sie PBIS und Quest 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 beliebige Serveradresse entfernt wird, füllen Sie die Lücke mit der Textzeichenfolge ’<none>‘ und ändern Sie 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_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 die folgenden Befehle ausführen, um die FAS-Server einzurichten und den Dienst
ctxvda
neu zu starten, damit Ihre Einstellungen wirksam werden.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 systemctl restart ctxjproxy systemctl restart ctxvda <!--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>" systemctl restart ctxjproxy systemctl restart ctxvda <!--NeedCopy-->
Wählen Sie die richtige Active Directory-Integrationsmethode und geben Sie dann den richtigen Pfad der Zertifikate ein (z. B. /etc/pki/CA/certs/
).
Anschließend installiert das Skript die Pakete krb5-pkinit und pam_krb5 und legt die entsprechenden Konfigurationsdateien fest. Für RHEL 8 und höher versucht das Skript, EPEL in diesen Distributionen zu aktivieren, da PAM_KRB5 in das EPEL-Repository verschoben wird.
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
systemctl restart ctxjproxy
systemctl restart ctxvda
<!--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 auch das Linux-Tool XDPing verwenden, um nach allgemeinen Konfigurationsproblemen zu suchen, die in Ihrer Linux VDA-Umgebung vorliegen könnten.
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
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Citrix-Registrierungswert “HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService” auf <Your-FAS-Server-List> eingestellt ist.
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep "UserCredentialService"
<!--NeedCopy-->
Wenn die vorhandene Einstellung falsch ist, führen Sie den vorherigen Schritt FAS-Server festlegen aus, um sie erneut festzulegen.
Falsche Konfiguration des Zertifizierungsstellenzertifikats
Der Start einer Sitzung über den FAS-Store schlägt fehl. Ein graues Fenster wird für einige Sekunden angezeigt.
Ü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
Überprüfen Sie, ob Sie in /etc/krb5.conf
den vollständigen Pfad, in dem das Stamm-ZS-Zertifikat und alle Zwischenzertifikate gespeichert sind, korrekt 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, führen Sie den vorherigen Schritt Zertifikate installieren aus, um sie erneut festzulegen.
Ü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.
Der Fehler weist auf folgende Umstände hin:
- Der Benutzer wurde zwar erfolgreich in ADFS verifiziert, aber es ist kein gespiegeltes Konto für den Benutzer in AD konfiguriert.
Lösung
Richten Sie das gespiegelte Konto in AD ein.
AD FS nicht konfiguriert
Bei einem Anmeldeversuch beim FAS-Store tritt folgender Fehler auf:
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
- Der Artikel Übersicht über die Architekturen des Verbundauthentifizierungsdiensts enthält eine Übersicht über die gebräuchlichen FAS-Architekturen.
- Artikel mit Anleitungen finden Sie unter Erweiterte Konfiguration des Verbundauthentifizierungsdiensts.
Bekannte Probleme
Beim Einsatz von FAS kann der Start einer veröffentlichten Desktop- oder App-Sitzung mit nicht-englischen Zeichen fehlschlagen.
Workaround
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 Angabe in der Anfrage zu ändern: