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