Para habilitar True SSO en un escritorio Ubuntu/Debian, integre la máquina virtual base con un dominio de Active Directory (AD) mediante la solución SSSD. A continuación, instale el certificado raíz de la entidad de certificación (CA) para admitir la autenticación de confianza antes de instalar Horizon Agent.

Utilice el siguiente procedimiento para habilitar True SSO con SSSD en una máquina virtual Ubuntu/Debian.

Algunos ejemplos incluidos en el procedimiento utilizan valores de marcador de posición para representar entidades en su configuración de red, como el nombre de host de su máquina virtual. Reemplace los valores de marcador de posición con información específica de su configuración, tal y como se describe en la siguiente tabla.

Valor del marcador de posición Descripción
DIRECCIÓN_IP_dns Dirección IP del servidor de nombres DNS
midominio.com Nombre DNS de su dominio de AD
MIDOMINIO.COM Nombre DNS de su dominio de AD, en mayúsculas
mihost Nombre del host de su máquina virtual Ubuntu/Debian
MIDOMINIO Nombre DNS del grupo de trabajo o el dominio NT que incluye su servidor Samba, en mayúsculas
nombredehost-ads Nombre de host del servidor de AD
usuario-admin Nombre de usuario del administrador del dominio de AD

Requisitos previos

  • Compruebe que la máquina virtual ejecute una de las siguientes distribuciones.
    • Ubuntu 22.04/20.04
    • Debian 12.x/11.x
    Nota: True SSO con SSSD no es compatible con escritorios Debian 10.x. Para configurar True SSO en un escritorio Debian 10.x, use en su lugar la unión de dominio Samba, como se describe en Configurar True SSO con Samba para escritorios Ubuntu/Debian.
  • Configure True SSO para Workspace ONE Access y Horizon Connection Server.
  • Obtenga un certificado de CA raíz y guárdelo en /tmp/certificate.cer en la máquina virtual Ubuntu/Debian. Consulte la sección Cómo exportar el certificado raíz firmado por una entidad de certificación.

    Si una CA subordinada también es una autoridad emisora, obtenga toda la cadena de certificados de CA raíz y subordinadas, y guárdela en /tmp/certificate.cer en la máquina virtual.

Procedimiento

  1. En la máquina virtual base, compruebe la conexión de red con Active Directory.
    sudo realm discover mydomain.com
  2. Instale los paquetes de dependencia necesarios.
    sudo apt-get install sssd-tools sssd libnss-sss libpam-sss adcli samba-common-bin krb5-user krb5-pkinit
  3. Únase al dominio de AD.
    sudo realm join --verbose mydomain.com -U admin-user
  4. Instale el certificado de CA raíz o la cadena de certificados.
    1. Busque el certificado de CA raíz o la cadena de certificados que descargó y transfiéralos a un archivo PEM.
      sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    2. Copie el certificado en el archivo /etc/sssd/pki/sssd_auth_ca_db.pem.
      sudo cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
  5. Modifique el archivo de configuración /etc/sssd/sssd.conf, tal como se muestra en el siguiente ejemplo.
    [sssd]
    domains = mydomain.com
    config_file_version = 2
    services = nss, pam
     
    [domain/mydomain.com]
    ad_domain = mydomain.com
    krb5_realm = MYDOMAIN.COM
    realmd_tags = manages-system joined-with-adcli
    cache_credentials = True
    id_provider = ad
    krb5_store_password_if_offline = True
    default_shell = /bin/bash
    ldap_id_mapping = True
    use_fully_qualified_names = False #Use short name for user
    fallback_homedir = /home/%u@%d
    access_provider = ad
    ad_gpo_map_interactive = +gdm-vmwcred #Add this line for SSO
    ad_gpo_access_control = permissive #Only add this line for Ubuntu 20.04 and Debian 12 to fix https://bugs.launchpad.net/ubuntu/+source/sssd/+bug/1934997
     
    [pam] #Add pam section for certificate login
    pam_cert_auth = True #Add this line to enable certificate login for system
    pam_p11_allowed_services = +gdm-vmwcred #Add this line to enable certificate login for VMware Horizon Agent
     
    [certmap/mydomain.com/truesso] #Add this section and following lines to set match and map rule for certificate user
    matchrule = <EKU>msScLogin
    maprule = (|(userPrincipal={subject_principal})(samAccountName={subject_principal.short_name}))
    domains = mydomain.com
    priority = 10
  6. Cambie el modo de acceso del archivo de configuración /etc/krb5.conf para que se pueda editar.
    sudo chmod 644 /etc/krb5.conf
  7. Modifique el archivo /etc/krb5.conf, tal y como se muestra en el siguiente ejemplo.
    [realms]
     MYDOMAIN.COM = {
        kdc = kdcserver.mydomain.com
        admin_server = dnsserver.mydomain.com
        pkinit_anchors = DIR:/etc/sssd/pki
        pkinit_kdc_hostname = kdcserver.mydomain.com
        pkinit_eku_checking = kpServerAuth
     }
     
    [domain_realm]
        .mydomain.com = MYDOMAIN.COM
        mydomain.com = MYDOMAIN.COM
  8. Instale el paquete Horizon Agent con True SSO habilitado.
    sudo ./install_viewagent.sh -T yes
  9. Modifique el archivo de configuración /etc/vmware/viewagent-custom.conf para que incluya la siguiente línea.
    NetbiosDomain = MYDOMAIN
  10. Reinicie la máquina virtual y vuelva a iniciar sesión.