Linux Virtual Delivery Agent

Federated Authentication Service konfigurieren

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 In-session Behavior nicht.

Der Linux-VDA verwendet kurze Verbindungen, um Daten mit FAS-Servern zu übertragen.

  • Der Linux-VDA kommuniziert mit FAS-Servern ausschließlich über Port 80.

Unterstützte Distributionen

  • FAS unterstützt nur eine begrenzte Anzahl von Linux-Plattformen und AD-Integrationsmethoden. Siehe die folgende Matrix:

      Winbind SSSD Centrify PBIS Quest
    Amazon Linux 2 Yes Yes Yes Yes No
    RHEL 8.10 Yes Yes Yes Yes Yes
    RHEL 8.8 Yes Yes Yes Yes Yes
    RHEL 8.6 Yes Yes Yes Yes Yes
    RHEL 8.4 Yes Yes Yes Yes Yes
    RHEL 8.3 Yes Yes Yes Yes Yes
    RHEL 8.2 Yes Yes Yes Yes Yes
    RHEL 8.1 Yes Yes Yes Yes Yes
    RHEL 7.9 / CentOS 7.9 Yes Yes Yes Yes Yes
    RHEL 7.8 / CentOS 7.8 Yes Yes Yes Yes Yes
    Rocky Linux 8.10/8.8/8.6 Yes Yes No No No
    SLES 15.3 Yes No Yes No Yes
    SLES 15.2 Yes No Yes No Yes
    SLES 12.5 Yes No Yes No No
    Ubuntu 20.04 Yes No Yes No Yes
    Ubuntu 18.04 Yes No Yes No Yes

FAS auf dem Linux-VDA konfigurieren

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. Alternativ können Sie 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/certsrv herunter.

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 anschließend 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 hat FAS keine 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 unbeaufsichtigten Modus ausgeführt werden kann:

  • CTX_FAS_ADINTEGRATIONWAY=winbind | sssd | centrify | pbis | quest: Bezeichnet die Active Directory-Integrationsmethode, die CTX_EASYINSTALL_ADINTEGRATIONWAY entspricht, wenn CTX_EASYINSTALL_ADINTEGRATIONWAY angegeben ist. Wenn CTX_EASYINSTALL_ADINTEGRATIONWAY nicht angegeben ist, verwendet CTX_FAS_ADINTEGRATIONWAY seine 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.

Wählen Sie die richtige Active Directory-Integrationsmethode und geben Sie dann den korrekten Zertifikatspfad ein (zum Beispiel /etc/pki/CA/certs/).

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

Einschränkung

  • 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.
  • Diese Version unterstützt nur die gängigen FAS-Bereitstellungen, die im Artikel Federated Authentication Service – Architekturübersicht zusammengefasst sind, und beinhaltet nicht Windows 10 Azure AD Join.

Problembehandlung

Bevor Sie FAS-Probleme beheben, stellen Sie sicher, dass der Linux-VDA korrekt installiert und konfiguriert ist und eine Nicht-FAS-Sitzung erfolgreich im gemeinsamen Store über Kennwortauthentifizierung gestartet werden kann.

Wenn Nicht-FAS-Sitzungen ordnungsgemäß funktionieren, setzen Sie die HDX-Protokollebene der Klasse Login auf VERBOSE und die VDA-Protokollebene auf TRACE. Informationen zum Aktivieren der Trace-Protokollierung für den Linux-VDA finden Sie im Knowledge Center-Artikel CTX220130.

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> gesetzt 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.

Ungültige Anmeldung aufgrund falscher Stamm-CA-Zertifikatkonfiguration

Ü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

Stellen Sie sicher, dass Sie in /etc/krb5.conf den vollständigen Pfad, der das Stamm-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 Stamm-CA-Zertifikat gültig ist.

Fehler bei der Shadow-Konto-Zuordnung

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.

Fehler bei der Shadow-Konto-Zuordnung

Dieser Fehler weist darauf hin, dass der ADFS-Benutzer erfolgreich überprüft wurde, aber kein Shadow-Benutzer in AD konfiguriert ist.

Lösung

Legen Sie das Shadow-Konto in AD fest.

ADFS nicht konfiguriert

Der folgende Fehler tritt bei einem Anmeldeversuch im FAS-Store auf:

ADFS nicht konfiguriert

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.

Verwandte Informationen

Bekanntes Problem

Wenn FAS verwendet wird, kann es zu Fehlern kommen, wenn Sie versuchen, eine veröffentlichte Desktop- oder App-Sitzung mit nicht-englischen Zeichen zu starten.

Fehler beim Starten von Sitzungen mit nicht-englischen Zeichen

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:

Die Option „In der Anforderung bereitstellen“