Linux Virtual Delivery Agent

Servicio de autenticación federada

Puede usar el Servicio de autenticación federada (FAS) para autenticar a los usuarios que inician sesión en un VDA de Linux. El VDA de Linux utiliza el mismo entorno de Windows que el VDA de Windows para la funcionalidad de inicio de sesión con FAS. Para obtener información sobre cómo configurar el entorno Windows para FAS, consulte Servicio de autenticación federada. Este artículo proporciona información adicional específica de Linux VDA.

Nota: No

  • Linux VDA no admite la directiva In-session Behavior (Comportamiento durante la sesión).

  • Linux VDA usa conexiones cortas para la transmisión de datos con servidores de FAS.

Distribuciones compatibles

FAS admite distribuciones de Linux limitadas y métodos de unión de dominios. Consulte la siguiente matriz:

  Winbind SSSD Centrify PBIS Quest
Debian 12.9/11.11 No
RHEL 9.5/9.4/9.2 No
RHEL 8.10/8.8
Rocky Linux 9.5/9.4/9.2 No No
Rocky Linux 8.10/8.8 No No
SUSE 15.6 No No
Ubuntu 24.04 No No
Ubuntu 22.04

Configurar FAS en Linux VDA

Instalación de certificados

Para verificar los certificados de los usuarios, instale el certificado raíz de CA y todos los certificados intermedios en el VDA. Por ejemplo, para instalar el certificado raíz de CA, obtenga el certificado raíz de AD del paso anterior Recuperar el certificado CA de la CA de Microsoft (en AD) o descárguelo del servidor de CA raíz http://CA-SERVER/certsrv.

Nota: No

Los siguientes comandos también se aplican a la configuración de un certificado intermedio.

Por ejemplo, para convertir un archivo DER (.crt, .cer, .der) a PEM, ejecute un comando similar al siguiente:

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

Luego, instale el certificado raíz de CA en el directorio openssl ejecutando un comando similar al siguiente:

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

Nota: No

No coloque el certificado raíz de CA en la ruta /root. Si lo hace, FAS no tendrá el permiso de leer el certificado raíz de CA.

Ejecutar ctxfascfg.sh

Ejecute el script ctxfascfg.sh para configurar FAS:

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

Puede ejecutar ctxfascfg.sh en modo silencioso. Antes de ejecutar el script en modo silencioso, defina estas variables de entorno:

  • CTX_FAS_ADINTEGRATIONWAY=winbind | sssd | centrify | pbis | quest: Indica el método de integración de Active Directory, que es CTX_EASYINSTALL_ADINTEGRATIONWAY cuando se especifica CTX_EASYINSTALL_ADINTEGRATIONWAY. Si no se especifica CTX_EASYINSTALL_ADINTEGRATIONWAY, CTX_FAS_ADINTEGRATIONWAY usa su propio parámetro de valor.

  • CTX_FAS_CERT_PATH =<ruta del certificado>: Especifica la ruta completa del certificado raíz y todos los certificados intermedios.

  • CTX_FAS_KDC_HOSTNAME: Especifica el nombre de host del Centro de distribución de claves (KDC) cuando selecciona PBIS y Quest.

  • CTX_FAS_PKINIT_KDC_HOSTNAME: Especifica el nombre de host de KDC PKINIT, que es igual a CTX_FAS_KDC_HOSTNAME a menos que se especifique lo contrario. Si tiene varios Delivery Controllers, agregue los nombres de host de todos los KDC del dominio a pkinit_kdc_hostname en el archivo /etc/krb5.conf. Para obtener más información, consulte el artículo CTX322129 de Knowledge Center.

  • CTX_FAS_SERVER_LIST=’list-fas-servers’: Los servidores del Servicio de autenticación federada (FAS) se configuran a través de la directiva de grupo de AD. Para obtener información sobre la configuración de directivas de FAS en el GPO del dominio, consulte Configurar la directiva de grupo. Los Linux VDA no presentan compatibilidad con las directivas de grupo de AD, pero usted puede suministrar una lista de servidores FAS, separados por punto y coma. La secuencia debe ser la misma que la configurada en la directiva de grupo de AD. Si se quita alguna dirección de servidor, rellene el espacio en blanco con la cadena de texto ’<none>‘ y no modifique el orden de las direcciones de servidor. Para comunicarse correctamente con los servidores de FAS, agregue un número de puerto coherente con el especificado en los servidores de FAS. Por ejemplo: CTX_XDL_FAS_LIST=’fas_server_1_url:port_number; fas_server_2_url: port_number; fas_server_3_url: port_number’.

    Para actualizar la versión de una instalación de Linux VDA, puede ejecutar los siguientes comandos para configurar los servidores FAS y reiniciar el servicio ctxvda para que los cambios surtan efecto.

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

    Para actualizar los servidores FAS mediante ctxreg, ejecute los siguientes comandos:

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

Elija el método de integración de Active Directory correcto y, a continuación, escriba la ruta de los certificados (por ejemplo, /etc/pki/CA/certs/).

El script instala los paquetes krb5-pkinit y pam_krb5 y establece los archivos de configuración relevantes. Para RHEL 8 y versiones posteriores, cuando PAM_KRB5 se traslada al repositorio de EPEL, el script intenta habilitar EPEL en esas distribuciones.

Inhabilitar FAS

Para inhabilitar FAS en Linux VDA, quite todos los servidores de FAS de ConfDB con estos comandos:

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

Habilitar la autenticación secundaria para errores de SSO de FAS

Linux VDA proporciona resiliencia mejorada de inicio de sesión al ofrecer un método de autenticación secundario específicamente cuando falla el inicio de sesión único (Single Sign-On, SSO) de FAS. Con esta función, si el SSO de FAS encuentra problemas, se pide a los usuarios que introduzcan manualmente sus credenciales para la autenticación por contraseña. Para habilitar esta función, ejecute el comando siguiente:

  create -k "HKLM\System\CurrentControlSet\Control\Citrix\AccessControl\Login\Global" -t "REG_DWORD" -v "SecondaryAuthEnabled" -d "0x00000001" --force
<!--NeedCopy-->

Limitación

  • FAS aún no admite la pantalla de bloqueo. Si hace clic en el botón de bloqueo en una sesión, no podrá volver a iniciar la sesión mediante FAS.
  • Esta versión admite solamente las implementaciones más frecuentes del servicio FAS, que se resumen en el artículo Introducción arquitectural al Servicio de autenticación federada, y no incluye Unión a Azure AD de Windows 10.

Solución de problemas

Antes de solucionar problemas técnicos de FAS, asegúrese de que:

  • El Linux VDA está instalado y configurado correctamente.
  • Una sesión que no sea de FAS se puede iniciar correctamente en el almacén común mediante la autenticación con contraseña.

Si las sesiones que no sean FAS funcionan correctamente, defina el nivel de registro de HDX de la clase Login en VERBOSE y el nivel de registro del VDA en TRACE. Para obtener información sobre la habilitación del registro de seguimiento para Linux VDA, consulte el artículo CTX220130 de Knowledge Center.

También puede utilizar la herramienta XDPing de Linux para comprobar si hay problemas de configuración comunes que puedan existir en el entorno de su Linux VDA.

Error de configuración en el servidor FAS

No se puede iniciar ninguna sesión desde el almacén de FAS.

Consulte /var/log/xdl/hdx.log y busque el registro de errores similar al siguiente:

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

Solución

Ejecute el siguiente comando para verificar que el valor de Registro de Citrix “HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService” está establecido en <La-lista-de-servidores-de-FAS>.

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

Si la configuración existente no es correcta, siga el anterior paso Configurar servidores FAS para definirla nuevamente.

Configuración incorrecta del certificado de CA

No se puede iniciar ninguna sesión desde el almacén de FAS. Aparece una ventana gris que desaparece varios segundos después.

Inicio de sesión no válido debido a la configuración incorrecta del certificado raíz de CA

Consulte /var/log/xdl/hdx.log y busque el registro de errores similar al siguiente:

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

Solución

Verifique que la ruta completa del certificado raíz de CA y de todos los certificados intermedios esté configurada correctamente en/etc/krb5.conf. La ruta completa será parecida a esta:


   [realms]

  EXAMPLE.COM = {

      ......

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

      ......

  }  
<!--NeedCopy-->

Si la configuración existente no es correcta, siga el paso anterior Instalar certificados para definirla nuevamente.

Como alternativa, compruebe si el certificado raíz de CA es válido.

Error en la asignación de cuentas sombra

FAS está configurado con la autenticación SAML. Puede ocurrir el siguiente error después de que un usuario de ADFS introduzca el nombre de usuario y la contraseña en la página de inicio de sesión de ADFS.

Error en la asignación de cuentas sombra

El error indica que:

  • El usuario de ADFS se ha verificado correctamente, pero no hay ningún usuario sombra configurado en AD.

Solución

Establezca la cuenta sombra en AD.

ADFS no configurado

Durante el inicio de sesión en el almacén de FAS, ocurre el siguiente error:

ADFS no configurado

El problema se produce cuando configura el almacén FAS para usar la autenticación SAML pero falta la implementación de ADFS.

Solución

Implemente el proveedor de identidades de ADFS para el Servicio de autenticación federada. Para obtener más información, consulte el artículo Implementación ADFS del Servicio de autenticación federada.

Información relacionada

Problemas conocidos

Cuando se usa FAS, puede que fallen los inicios de una sesión de aplicación o escritorio publicados si se usan caracteres que no sean en inglés.

Fallo de inicio de sesiones con caracteres de idiomas distintos del inglés

Solución temporal

En la herramienta de CA, haga clic con el botón secundario en Manage Templates para cambiar la plantilla Citrix_SmartcardLogon de Build from this Active Directory information a Supply in the request:

Oferta en la opción Solicitar