Para habilitar o True SSO em uma área de trabalho Ubuntu/Debian, integre a máquina virtual (VM) base a um domínio Active Directory (AD) usando a solução de SSSD. Em seguida, instale o certificado raiz da Autoridade de Certificação (CA) para oferecer suporte à autenticação confiável antes de instalar o Horizon Agent.

Use o procedimento a seguir para habilitar o True SSO com SSSD em uma VM Ubuntu/Debian.

Alguns exemplos no procedimento usam valores de espaço reservado para representar entidades em sua configuração de rede, como o nome do host da sua VM. Substitua os valores do espaço reservado por informações específicas para sua configuração, conforme descrito na tabela a seguir.

Valor do espaço reservado Descrição
dns_IP_ADDRESS Endereço IP do seu servidor de nomes DNS
meudomínio.com Nome DNS do seu domínio do AD
MEUDOMÍNIO.COM Nome DNS do seu domínio do AD, em letras maiúsculas
meuhost Nome do host da sua VM Ubuntu/Debian
MEUDOMÍNIO Nome DNS do grupo de trabalho ou domínio NT que inclui o servidor Samba, em letras maiúsculas
ads-hostname Nome do host do seu servidor AD
usuário-administrador Nome de usuário do administrador de domínio do AD

Pré-requisitos

  • Verifique se a VM está executando uma das seguintes distribuições.
    • Ubuntu 22.04/20.04
    • Debian 12.x/11.x
    Observação: O True SSO com SSSD não é suportado para desktops Debian 10.x. Para configurar o True SSO em um desktop Debian 10.x, use o Samba domain-join-join, conforme descrito em Configurar o True SSO com o Samba para desktops Ubuntu/Debian.
  • Configure o True SSO para acesso de Workspace ONE e Horizon Connection Server.
  • Obtenha um certificado de CA raiz e salve-o em /tmp/certificate.cer na VM Ubuntu/Debian. Consulte Como exportar o certificado da autoridade de certificação raiz.

    Se uma autoridade de certificação subordinada também for uma autoridade emissora, obtenha toda a cadeia de certificados de autoridade de certificação raiz e subordinada e salve-a em /tmp/certificate.cer na VM.

Procedimento

  1. Na VM base, verifique a conexão de rede com Active Directory.
    sudo realm discover mydomain.com
  2. Instale os pacotes de dependências necessários.
    sudo apt-get install sssd-tools sssd libnss-sss libpam-sss adcli samba-common-bin krb5-user krb5-pkinit
  3. Ingresse no domínio do AD.
    sudo realm join --verbose mydomain.com -U admin-user
  4. Instale o certificado de CA raiz ou a cadeia de certificados.
    1. Localize o certificado de CA raiz ou a cadeia de certificados que você baixou e transfira-o para um arquivo PEM.
      sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    2. Copie o certificado para o arquivo /etc/sssd/pki/sssd_auth_ca_db.pem.
      sudo cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
  5. Modifique o arquivo de configuração /etc/sssd/sssd.conf, conforme mostrado no exemplo a seguir.
    [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. Altere o modo de acesso do arquivo de configuração /etc/krb5.conf para torná-lo editável.
    sudo chmod 644 /etc/krb5.conf
  7. Modifique o arquivo /etc/krb5.conf, conforme mostrado no exemplo a seguir.
    [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 o pacote Horizon Agent, com o True SSO ativado.
    sudo ./install_viewagent.sh -T yes
  9. Modifique o arquivo de configuração /etc/vmware/viewagent-custom.conf para que ele inclua a seguinte linha.
    NetbiosDomain = MYDOMAIN
  10. Reinicie a VM e faça login novamente.