Ubuntu/Debian 데스크톱에서 SSSD가 있는 True SSO를 사용하도록 설정하려면 SSSD 솔루션을 사용하여 기본 VM(가상 시스템)을 AD(Active Directory) 도메인과 통합합니다. 그런 다음, 루트 CA(인증 기관) 인증서를 설치하여 Horizon Agent를 설치하기 전에 신뢰할 수 있는 인증을 지원합니다.
참고: Horizon 8 업그레이드 후에도 기존 True SSO 구성이 계속 작동하도록 하려면 /etc/sssd/sssd.conf를 수정해야 할 수 있습니다. 자세한 내용은 Omnissa Horizon 8 2412 이상으로 업그레이드를 참조하십시오.
이 절차의 일부 예시는 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
- Debian
-
Omnissa Access 및 Horizon Connection Server에 대한 True SSO를 구성합니다.
-
루트 CA 인증서를 가져오고 Ubuntu/Debian VM의
/tmp/certificate.cer에 저장합니다. 루트 인증 기관 인증서를 내보내는 방법을 참조하십시오.하위 CA가 발급 기관이기도 한 경우 루트 및 하위 CA 인증서의 전체 체인을 가져와서 VM의
/tmp/certificate.cer에 저장합니다.
절차
-
기본 VM에서 Active Directory에 대한 네트워크 연결을 확인합니다.
sudo apt install -y realmd sudo realm discover mydomain.com -
필요한 종속성 패키지를 설치합니다.
sudo apt-get install sssd-tools sssd libnss-sss libpam-sss libpam-pkcs11 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구성 파일을 수정합니다.참고:
use_fully_qualified_names = False는 짧은 사용자 이름을 사용한다는 의미입니다.SSO인 경우
ad_gpo_map_interactive = +gdm-hzncred줄 추가Ubuntu 20.04 및 Debian 12인 경우에만
ad_gpo_access_control = permissive를 추가하여 수정 https://bugs.launchpad.net/ubuntu/+source/sssd/+bug/1934997인증서 로그인을
[pam]수행하려면 아래 코드 줄을 추가합니다.pam_cert_auth줄은 시스템에 대한 인증서 로그인을 사용하도록 설정합니다.pam_p11_allowed_services줄은 Horizon Agent에 대한 인증서 로그인을 사용하도록 설정합니다.[cert]코드 줄을 추가하여 인증서 사용자에 대한 일치 및 매핑 규칙을 설정합니다.[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 fallback_homedir = /home/%u@%d access_provider = ad ad_gpo_map_interactive = +gdm-hzncred ad_gpo_access_control = permissive [pam] pam_cert_auth = True pam_p11_allowed_services = +gdm-hzncred [certmap/mydomain.com/truesso] 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파일을 수정합니다.kdc and pkinit_kdc_hostname specify Kerberos Key Distribution Center This can be found in output of "dig +short _kerberos._tcp.MYDOMAIN.COM SRV" or "nslookup -type=SRV _kerberos._tcp.dc._msdcs.mydomain.com"[realms]섹션에 다음PKINT매개 변수를 포함합니다.pkinit_anchors specifies the directory containing trusted CA certificates for PKINIT pkinit_kdc_hostname: Hostname of the KDC for PKINIT pkinit_eku_checking: Controls Extended Key Usage checking (example, kpServerAuth)다음 예에는
[realms]섹션의PKINT매개 변수가 포함되어 있습니다.[realms] http://MYDOMAIN.COM = { kdc = http://dnsserver.mydomain.com admin_server = http://dnsserver.mydomain.com pkinit_anchors = FILE:/etc/sssd/pki/sssd_auth_ca_db.pem pkinit_kdc_hostname = http://dnsserver.mydomain.com pkinit_eku_checking = kpServerAuth } -
True SSO를 사용하도록 설정하고 Horizon Agent 패키지를 설치합니다.
sudo ./install_viewagent.sh -T yes -
다음 줄을 포함하도록
/etc/omnissa/viewagent-custom.conf구성 파일을 수정합니다.
```
NetbiosDomain = MYDOMAIN
```
11. VM을 다시 시작하고 다시 로그인합니다.
이 페이지가 도움이 되었나요?