RHEL 9.x/8.x VM(가상 시스템)에서 스마트 카드 리디렉션을 구성하려면 해당 기능이 의존하는 라이브러리와 스마트 카드의 신뢰할 수 있는 인증을 지원하기 위한 루트 CA(인증 기관) 인증서를 설치합니다.

사전 요구 사항

프로시저

  1. 필수 라이브러리를 설치합니다.
    yum install -y opensc pcsc-lite pcsc-lite-libs pcsc-lite-ccid nss-tools
  2. pcscd 서비스를 사용하도록 설정합니다.
    systemctl enable pcscd
    systemctl start pcscd
  3. /etc/sssd/sssd.conf 구성 파일에 스마트 카드 인증을 사용하도록 설정하는 다음 줄이 포함되어 있는지 확인합니다.
    [pam]
    pam_cert_auth = True
  4. 필요한 CA 인증서를 /etc/sssd/pki/sssd_auth_ca_db.pem에 복사합니다.
    openssl x509 -inform der -in certificate.cer -out certificate.pem
    cp certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
  5. 스마트 카드의 상태를 확인하려면 다음 pkcs11-tool 명령을 실행하고 올바른 출력을 반환하는지 확인합니다.
    pkcs11-tool -L
    
    pkcs11-tool --login -O
    
    pkcs11-tool --test --login
  6. 필요한 드라이버를 복사하고 필수 라이브러리 파일을 nssdb 디렉토리에 추가합니다.
    1. 다음 예제와 유사한 명령을 실행합니다.
      다음 예제 명령은 Gemalto PIV 2.0 카드용 드라이버 파일인 libcmP11.sonssdb 디렉토리에 추가하는 방법을 보여 줍니다. libcmP11.so 대신, 스마트 카드의 드라이버 파일을 대체할 수 있습니다.
      cp libcmP11.so /usr/lib64/
      mkdir -p /etc/pki/nssdb
      certutil -N -d /etc/pki/nssdb
      certutil -A -n rootca -i certificate.pem -t "CT,CT,CT" -d /etc/pki/nssdb
      modutil -dbdir /etc/pki/nssdb/  -add "piv card 2.0" -libfile /usr/lib64/libcmP11.so
    2. 다음 명령을 실행하여 예상된 인증서가 성공적으로 로드되었는지 확인합니다.
      # certutil -L -d /etc/pki/nssdb
      명령이 다음 예시와 유사한 출력을 반환하는지 확인합니다.
      Certificate Nickname
      rootca
    3. 다음 명령을 실행하여 예상된 라이브러리가 성공적으로 추가되었는지 확인합니다.
      modutil -dbdir /etc/pki/nssdb -list
      명령이 다음 예시와 유사한 출력을 반환하는지 확인합니다.
      Listing of PKCS #11 Modules
      –-----------------------------------------------------------
        1. NSS Internal PKCS #11 Module
               slots: 2 slots attached
              status: loaded
      
               slot: NSS Internal Cryptographic Services
              token: NSS Generic Crypto Services
      
               slot: NSS User Private Key and Certificate Services
              token: NSS Certificate DB
      
        2. piv card 2.0
              library name: /usr/lib/libcmP11.so
               slots: There are no slots attached to this module
              status: loaded
      –-----------------------------------------------------------
  7. /usr/share/p11-kit/modules/libcmP11.module 파일을 생성합니다. 파일에 다음 컨텐츠를 추가합니다.
    # This file describes how to load the opensc module
    # See: http://p11-glue.freedesktop.org/doc/p11-kit/config.html
     
    # This is a relative path, which means it will be loaded from
    # the p11-kit default path which is usually $(libdir)/pkcs11.
    # Doing it this way allows for packagers to package opensc for
    # 32-bit and 64-bit and make them parallel installable
    module: /usr/lib64/libcmP11.so
    priority: 99
    참고: (RHEL 9.x) 또한 시스템에서 /usr/share/p11-kit/modules/p11-kit-trust.module 파일을 제거해야 합니다. 또한 opensc를 사용하지 않는 경우 /usr/share/p11-kit/modules/opensc.module 파일을 제거해야 합니다.
  8. 스마트 카드 SSO(Single Sign-On) 기능을 지원하려면 /etc/vmware/viewagent-greeter.conf 파일을 구성합니다. Linux 데스크톱의 구성 파일에서 옵션 설정의 내용을 참조하십시오.
  9. 스마트 카드 리디렉션을 사용하도록 설정하고 Horizon Agent 패키지를 설치합니다.
    • .rpm 설치 관리자를 사용하는 경우:
      1. 설치 관리자를 실행하여 기본 기능 옵션으로 Horizon Agent를 설치합니다.
        sudo rpm -ivh VMware-horizonagent-linux-YYMM-y.y.y-xxxxxxx.el8.x86_64.rpm
      2. 스마트 카드 리디렉션 기능을 추가하려면 ViewSetup.sh 스크립트를 실행합니다.
        /usr/lib/vmware/viewagent/bin/ViewSetup.sh -m yes
    • .tar.gz 설치 관리자를 사용하는 경우 매개 변수와 함께 설치 관리자를 실행하여 스마트 카드 리디렉션을 사용하도록 설정합니다.
      sudo ./install_viewagent.sh -m yes
    참고: 기본 PC/SC Lite 라이브러리를 설치하라는 오류 메시지가 표시되면 시스템에 현재 있는 사용자 지정 PC/SC Lite 라이브러리를 제거하고 다음 명령을 사용하여 기본 PC/SC Lite 라이브러리를 설치합니다.
    yum reinstall pcsc-lite-libs pcsc-lite

    그런 다음, Horizon Agent 설치 관리자를 실행할 수 있습니다.

  10. 사용자 지정 PC/SC Lite 라이브러리를 사용하는 경우 /etc/vmware/config 파일에서 pcscd.maxReaderContextpcscd.readBody 옵션을 구성합니다.
  11. 가상 시스템을 다시 시작하고 다시 로그인합니다.