Linux 데스크톱에 대해 SSO(싱글 사인온)를 설정하려면 몇 가지 구성 단계를 수행해야 합니다.

VMware Horizon 8 Single Sign-On 모듈에서는 Linux의 PAM(착탈형 인증 모듈)과 통신하며, Linux 가상 시스템을 AD(Active Directory)에 통합하는 데 사용하는 방법에 종속되지 않습니다. Horizon 8 SSO는 Linux 가상 시스템을 AD와 통합하는 OpenLDAP 및 Winbind 솔루션에서 작동하는 것으로 알려져 있습니다.

기본적으로 SSO에서는 AD의 sAMAccountName 특성이 로그인 ID라고 가정합니다. OpenLDAP 또는 Winbind 솔루션을 사용하는 경우 SSO에 올바른 로그인 ID가 사용되도록 하려면 다음과 같은 구성 단계를 수행해야 합니다.

  • OpenLDAP의 경우 sAMAccountNameuid로 설정합니다.
  • Winbind의 경우 구성 파일 /etc/samba/smb.conf에 다음 문을 추가합니다.
    winbind use default domain = true
사용자가 로그인할 도메인 이름을 지정해야 하는 경우에는 Linux 데스크톱에서 SSOUserFormat 옵션을 설정해야 합니다. 자세한 내용은 Linux 데스크톱에서 구성 파일 편집 항목을 참조하십시오. SSO는 항상 대문자로 된 짧은 도메인 이름을 사용합니다. 예를 들어, 도메인이 mydomain.com이면 SSO에서는 MYDOMAIN을 도메인 이름으로 사용합니다. 따라서 SSOUserFormat 옵션을 설정할 때 MYDOMAIN을 지정해야 합니다. 짧은 도메인 이름과 긴 도메인 이름에는 다음 규칙이 적용됩니다.
  • OpenLDAP의 경우는 대문자로 된 짧은 도메인 이름을 사용해야 합니다.
  • Winbind는 긴 도메인 이름과 짧은 도메인 이름을 모두 지원합니다.

AD는 로그인 이름에서 특수 문자를 지원하지만 Linux는 지원하지 않습니다. 그러므로 SSO를 설정할 때 로그인 이름에 특수 문자를 사용하지 마십시오.

AD에서 사용자의 UserPrincipalName(UPN) 특성과 sAMAccount 특성이 일치하지 않고 사용자가 UPN으로 로그인한 경우에는 SSO가 실패합니다. 예를 들어 AD mycompany.comjuser 사용자가 있지만 해당 사용자의 UPN이 [email protected] 대신 [email protected]으로 설정되어 있으면 SSO는 실패합니다. 해결 방법은 사용자가 sAMAccount에 저장된 이름을 사용하여 로그인하는 것입니다. 예: juser.

Horizon Agent에서는 사용자 이름의 대소문자를 구분할 필요가 없습니다. Linux 운영 체제에서 대소문자를 구분하지 않은 사용자 이름을 처리할 수 있는지 확인해야 합니다.
  • Winbind의 경우는 기본적으로 사용자 이름의 대소문자를 구분하지 않습니다.
  • OpenLDAP의 경우는 Ubuntu에서 NSCD를 사용하여 사용자를 인증하며 기본적으로 대소문자를 구분하지 않습니다.
  • RHEL, Rocky Linux 및 CentOS는 SSSD를 사용하여 사용자를 인증하며 기본값은 대/소문자를 구분합니다. 설정을 변경하려면 /etc/sssd/sssd.conf 파일을 편집하여 [domain/default] 섹션에 다음 줄을 추가합니다.
    case_sensitive = false

Linux 가상 시스템에 여러 데스크톱 환경이 설치되어 있는 경우 데스크톱 환경 항목을 참조하여 SSO와 함께 사용할 데스크톱 환경을 선택합니다.