Ubuntu/Debian VM(가상 시스템)에서 True SSO 기능을 사용하도록 설정하려면 True SSO 기능이 의존하는 라이브러리, 신뢰할 수 있는 인증을 지원하기 위한 루트 CA(인증 기관) 인증서 및 Horizon Agent를 설치합니다. 하위 CA에서 True SSO 인증도 발급한 경우 루트 및 하위 CA 인증서의 전체 인증서 체인을 설치해야 합니다. 인증 설정을 완료하려면 일부 구성 파일을 편집해야 합니다.

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

사전 요구 사항

프로시저

  1. Ubuntu/Debian VM에서 pkcs11 지원 패키지를 설치합니다.
    sudo apt install libpam-pkcs11
  2. libnss3-tools 패키지를 설치합니다.
    sudo apt install libnss3-tools
  3. 루트 CA 인증서 또는 인증서 체인을 설치합니다.
    1. 다운로드한 루트 CA 인증서 또는 인증서 체인을 찾은 후 PEM 파일에 전송합니다.
      openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    2. 시스템 데이터베이스를 포함하려면 /etc/pki/nssdb 디렉토리를 만드십시오.
      sudo mkdir -p /etc/pki/nssdb
    3. certutil 명령을 사용하여 시스템 데이터베이스 /etc/pki/nssdb에 루트 CA 인증서 또는 인증서 체인을 설치합니다.
      다음 예제 명령의 "루트 CA 인증서"를 시스템 데이터베이스의 루트 CA 인증서 이름으로 변경합니다.
      sudo certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
    4. /etc/pam_pkcs11/cacerts 디렉토리를 만들고 해당 디렉토리에 루트 CA 인증서 또는 인증서 체인을 복사하십시오.
      mkdir -p /etc/pam_pkcs11/cacerts
      sudo cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts
    5. 루트 CA 인증서 또는 인증서 체인에 대한 해시 링크를 생성합니다. /etc/pam_pkcs11/cacerts 디렉토리에서 다음 명령을 실행합니다.
      pkcs11_make_hash_link
  4. True SSO를 사용하도록 설정하고 Horizon Agent 패키지를 설치합니다.
    sudo ./install_viewagent.sh -T yes
  5. 다음 매개 변수를 Horizon Agent 사용자 지정 구성 파일 /etc/vmware/viewagent-custom.conf에 추가합니다. 다음 예를 사용하십시오. 여기서 NETBIOS_NAME_OF_DOMAIN은 조직 도메인의 NetBIOS 이름입니다.
    NetbiosDomain=NETBIOS_NAME_OF_DOMAIN
  6. /etc/pam_pkcs11/pam_pkcs11.conf 구성 파일을 편집합니다.
    1. 필요한 경우 /etc/pam_pkcs11/pam_pkcs11.conf 구성 파일을 생성합니다. /usr/share/doc/libpam-pkcs11/examples에서 예시 파일을 찾아 /etc/pam_pkcs11 디렉토리로 복사한 후 파일 이름을 pam_pkcs11.conf로 바꿉니다. 필요에 따라 파일의 내용에 시스템 정보를 추가합니다.
    2. 다음 예시와 비슷한 컨텐츠를 포함하도록 /etc/pam_pkcs11/pam_pkcs11.conf 구성 파일을 수정합니다.
      참고: Ubuntu 20.04 이상의 경우 use_mappers 줄 끝에 ms를 추가합니다.
      use_pkcs11_module = coolkey;
      pkcs11_module coolkey {
        module = /usr/lib/vmware/viewagent/sso/libvmwpkcs11.so;
        slot_num = 0;
        ca_dir = /etc/pam_pkcs11/cacerts;
        nss_dir = /etc/pki/nssdb;
      }
      
      mapper ms {
        debug = false;
        module = internal;
        # module = /usr/$LIB/pam_pkcs11/ms_mapper.so;
        ignorecase = false;
        # ignore domain name
        ignoredomain = true;
        domain = "DOMAIN.COM"; #<== Replace "DOMAIN.COM" with your organization's domain name
      }
      
      use_mappers = digest, cn, pwent, uid, mail, subject, null, ms;  #<== For Ubuntu 20.04 or later, append "ms" at end of use_mappers
  7. Linux 터미널에서 다음 예제와 같이 /etc/krb5.conf 구성 파일에 대한 액세스 권한을 644로 설정합니다.
    sudo chmod 644 /etc/krb5.conf

    사용 권한이 수정되었는지 확인합니다.

    ls -l /etc/krb5.conf
    
    -rw-r--r-- 1 root root xxx xx xx xxxx /etc/krb5.conf
    참고: 지정된 대로 /etc/krb5.conf의 사용 권한을 수정하지 않으면 True SSO 기능이 작동하지 않을 수 있습니다.
  8. VM을 다시 시작하고 다시 로그인합니다.