Pour prendre en charge True SSO sur des postes de travail Ubuntu/Debian, intégrez la machine virtuelle (VM) de base à un domaine Active Directory (AD) à l'aide de la solution SSSD. Installez ensuite le certificat d'autorité de certification (CA) racine pour prendre en charge l'authentification approuvée avant d'installer Horizon Agent.

Utilisez la procédure suivante pour activer True SSO avec SSSD sur une machine virtuelle Ubuntu/Debian.

Certains exemples de la procédure utilisent des valeurs d'espace réservé pour représenter des entités dans votre configuration réseau, telles que le nom d'hôte de votre VM. Remplacez les valeurs d'espace réservé par des informations spécifiques à votre configuration, comme décrit dans le tableau suivant.

Valeur d'espace réservé Description
dns_IP_ADDRESS Adresse IP de votre serveur de nom DNS
mydomain.com Nom DNS de votre domaine AD
MYDOMAIN.COM Nom DNS de votre domaine AD en majuscules
myhost Nom d'hôte de votre VM Ubuntu/Debian
MYDOMAIN Nom DNS du groupe de travail ou domaine NT qui inclut votre serveur Samba, en majuscules
ads-hostname Nom d'hôte de votre serveur AD
admin-user Nom d'utilisateur de l'administrateur de domaine AD

Conditions préalables

  • Vérifiez que la machine virtuelle exécute l'une des distributions suivantes :
    • Ubuntu 22.04/20.04
    • Debian 12.x/11.x
    Note : True SSO avec SSSD n'est pas prise en charge pour les postes de travail Debian 10.x. Pour configurer True SSO sur un poste de travail Debian 10.x, utilisez plutôt la jonction de domaine Samba, comme décrit dans Configurer True SSO avec Samba pour des postes de travail Ubuntu/Debian.
  • Configurez True SSO pour Workspace ONE Access et Horizon Connection Server.
  • Procurez-vous un certificat d'autorité de certification (CA) racine et enregistrez-le dans /tmp/certificate.cer sur la machine virtuelle Ubuntu/Debian. Reportez-vous à Exportation du certificat d'autorité de certification de racine.

    Si une autorité de certification (CA) subordonnée est également une autorité émettrice, procurez-vous la chaîne complète de certificats d'autorité de certification (CA) racine et subordonnée et enregistrez-la dans /tmp/certificate.cer sur la machine virtuelle.

Procédure

  1. Sur la VM de base, vérifiez la connexion réseau à Active Directory.
    sudo realm discover mydomain.com
  2. Installez les modules de dépendance requis.
    sudo apt-get install sssd-tools sssd libnss-sss libpam-sss adcli samba-common-bin krb5-user krb5-pkinit
  3. Joignez le domaine AD.
    sudo realm join --verbose mydomain.com -U admin-user
  4. Installez le certificat ou la chaîne de certificats d'autorité de certification (CA) racine.
    1. Localisez le certificat ou la chaîne de certificats d'autorité de certification (CA) racine que vous avez téléchargé et transférez-le vers un fichier PEM.
      sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    2. Copiez le certificat dans le fichier /etc/sssd/pki/sssd_auth_ca_db.pem.
      sudo cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
  5. Modifiez le fichier de configuration /etc/sssd/sssd.conf, comme indiqué dans l'exemple suivant.
    [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. Modifiez le mode d'accès au fichier de configuration /etc/krb5.conf pour le rendre modifiable.
    sudo chmod 644 /etc/krb5.conf
  7. Modifiez le fichier /etc/krb5.conf, comme indiqué dans l'exemple suivant.
    [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. Installez le module Horizon Agent, avec True SSO activée.
    sudo ./install_viewagent.sh -T yes
  9. Modifiez le fichier de configuration de /etc/vmware/viewagent-custom.conf afin qu'il inclue la ligne suivante.
    NetbiosDomain = MYDOMAIN
  10. Redémarrez la VM et reconnectez-vous.