Ubuntu/Debian 데스크톱에서 True SSO를 사용하도록 설정하려면 SSSD 솔루션을 사용하여 기본 VM(가상 시스템)을 AD(Active Directory) 도메인과 통합합니다. 그런 다음, 루트 CA(인증 기관) 인증서를 설치하여 Horizon Agent를 설치하기 전에 신뢰할 수 있는 인증을 지원합니다.

Ubuntu/Debian VM에서 SSSD가 있는 True SSO SSO를 사용하도록 설정하려면 다음 절차를 사용하십시오.

이 절차의 일부 예시는 VM의 호스트 이름과 같은 네트워크 구성의 엔티티를 나타내기 위해 자리 표시자 값을 사용합니다. 다음 표에 설명된 대로 자리 표시자 값을 구성과 관련된 정보로 바꿉니다.

자리 표시자 값 설명
dns_IP_ADDRESS DNS 이름 서버의 IP 주소
mydomain.com AD 도메인의 DNS 이름
MYDOMAIN.COM AD 도메인의 DNS 이름(모두 대문자)
myhost Ubuntu/Debian VM의 호스트 이름
MYDOMAIN Samba 서버를 포함하는 작업 그룹 또는 NT 도메인의 DNS 이름(모두 대문자)
ads-hostname AD 서버의 호스트 이름
admin-user AD 도메인 관리자의 사용자 이름

사전 요구 사항

  • VM이 다음 배포 중 하나를 실행하고 있는지 확인합니다.
    • Ubuntu 22.04/20.04
    • Debian 12.x/11.x
    참고: Debian 10.x 데스크톱에는 SSSD가 있는 True SSO가 지원되지 않습니다. Debian 10.x 데스크톱에서 True SSO를 구성하려면 Ubuntu/Debian 데스크톱용 Samba를 사용하여 True SSO 구성에 설명된 대로 Samba 도메인 가입을 대신 사용합니다.
  • Workspace ONE Access 및 Horizon Connection Server에 대해 True SSO를 구성합니다.
  • 루트 CA 인증서를 가져오고 Ubuntu/Debian VM의 /tmp/certificate.cer에 저장합니다. 루트 인증 기관 인증서를 내보내는 방법을 참조하십시오.

    하위 CA가 발급 기관이기도 한 경우 루트 및 하위 CA 인증서의 전체 체인을 가져와서 VM의 /tmp/certificate.cer에 저장합니다.

프로시저

  1. 기본 VM에서 Active Directory에 대한 네트워크 연결을 확인합니다.
    sudo realm discover mydomain.com
  2. 필요한 종속성 패키지를 설치합니다.
    sudo apt-get install sssd-tools sssd libnss-sss libpam-sss adcli samba-common-bin krb5-user krb5-pkinit
  3. AD 도메인에 가입합니다.
    sudo realm join --verbose mydomain.com -U admin-user
  4. 루트 CA 인증서 또는 인증서 체인을 설치합니다.
    1. 다운로드한 루트 CA 인증서 또는 인증서 체인을 찾은 후 PEM 파일에 전송합니다.
      sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    2. 인증서를 /etc/sssd/pki/sssd_auth_ca_db.pem 파일에 복사합니다.
      sudo cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
  5. 다음 예시와 같이 /etc/sssd/sssd.conf 구성 파일을 수정합니다.
    [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. /etc/krb5.conf 구성 파일에 대한 액세스 모드를 변경하여 편집할 수 있도록 합니다.
    sudo chmod 644 /etc/krb5.conf
  7. 다음 예시와 같이 /etc/krb5.conf 파일을 수정합니다.
    [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. True SSO를 사용하도록 설정하고 Horizon Agent 패키지를 설치합니다.
    sudo ./install_viewagent.sh -T yes
  9. 다음 줄을 포함하도록 /etc/vmware/viewagent-custom.conf 구성 파일을 수정합니다.
    NetbiosDomain = MYDOMAIN
  10. VM을 다시 시작하고 다시 로그인합니다.