若要在 RHEL 7.9 虛擬機器 (VM) 上設定智慧卡重新導向,請安裝此功能所依賴的程式庫,以及驗證所需的根憑證授權機構 (CA) 憑證。此外,您還必須編輯某些組態檔以完成驗證設定。

若要在 RHEL 7.9 虛擬機器上設定智慧卡重新導向,請使用下列程序。

此程序中的某些範例使用預留位置值來代表您網路組態中的實體,例如 AD 網域的 DNS 名稱。請將預留位置值取代為您的組態特有的資訊,如下表所說明。

預留位置值 說明
dns_IP_ADDRESS DNS 名稱伺服器的 IP 位址
mydomain.com AD 網域的 DNS 名稱
MYDOMAIN.COM AD 網域的 DNS 名稱 (全部使用大寫字母)
MYDOMAIN 包含 Samba 伺服器的工作群組或 NT 網域的 DNS 名稱 (全部使用大寫字母)
ads-hostname AD 伺服器的主機名稱
備註: 如果您使用 vSphere 主控台登入已安裝 Horizon Agent 且已啟用智慧卡重新導向的 RHEL 7.9 虛擬機器,則可能會遇到兩分鐘或更長時間的延遲登出時間。此延遲的登出僅會從 vSphere 主控台發生。自 Horizon Client 的 RHEL 7.9 登出體驗不會受到影響。

必要條件

整合 RHEL 7.9 虛擬機器與 Active Directory 以支援智慧卡重新導向

程序

  1. 安裝所需的程式庫。
    sudo yum install nss-tools nss-pam-ldapd esc pam_pkcs11 pam_krb5 opensc pcsc-lite-ccid authconfig 
          authconfig-gtk krb5-libs krb5-workstation krb5-pkinit pcsc-lite pcsc-lite-libs
    
  2. 安裝根 CA 憑證。
    1. 下載根 CA 憑證,並將其儲存至桌面平台上的 /tmp/certificate.cer。請參閱《如何匯出根憑證授權機構憑證》
    2. 找出您所下載的根 CA 憑證,並將其傳輸至 .pem 檔案。
      openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    3. 使用 certutil命令將根 CA 憑證安裝至系統資料庫 /etc/pki/nssdb
      將以下範例命令中的「root CA cert」取代為系統資料庫中根 CA 憑證的名稱。
      sudo certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
  3. 導覽至應用程式 > Sundry > 驗證,選取啟用智慧卡支援核取方塊,然後按一下套用
  4. 編輯 /etc/pam_pkcs11/pam_pkcs11.conf 組態檔中的模組設定,如下列範例所示。
    use_pkcs11_module = coolkey;
    ...
    pkcs11_module coolkey {
          module = libcoolkeypk11.so;                
          description = "Cool Key";
          slot_num = 0;
          nss_dir = /etc/pki/nssdb;
          cert_policy = ca, signature;
    }
  5. 編輯 /etc/pam_pkcs11/cn_map 檔案,使其包含類似下列範例的內容。若要包含特定內容,請參閱智慧卡憑證中所列的使用者資訊。
    user sc -> user-sc
  6. 編輯 /etc/krb5.conf/ 組態檔,如下列範例所示。
    [libdefaults]
          dns_lookup_realm = false
          ticket_lifetime = 24h
          renew_lifetime = 7d
          forwardable = true
          rdns = false
          default_realm = MYDOMAIN.COM
          default_ccache_name = KEYRING:persistent:%{uid}
    
    [realms]
          MYDOMAIN.COM = {
                kdc = ads-hostname
                admin_server = ads-hostname
                default_domain = ads-hostname
                pkinit_anchors = FILE:/etc/pki/nssdb/certificate.pem
                pkinit_cert_match = <KU>digitalSignature
                pkinit_kdc_hostname = ads-hostname
          }
    
    [domain_realm]
          .mydomain.com = MYDOMAIN.COM
          mydomain.com = MYDOMAIN.COM
  7. 如果虛擬機器正在執行 MATE 桌面平台環境,請將 auth include smartcard-auth 一行新增到 /etc/pam.d/mate-screensaver 的開頭,如以下範例中所示。
    #%PAM-1.0
     
    # Fedora Core
    auth include smartcard-auth            
    auth       include      system-auth
    auth       optional     pam_gnome_keyring.so
    account    include      system-auth
    password   include      system-auth
    session    include      system-auth
    

    您必須執行這項設定,以確保使用者在使用智慧卡登入時可以解除鎖定畫面。

  8. 若要支援智慧卡 Single Sign-On (SSO) 功能,請設定 /etc/vmware/viewagent-greeter.conf 檔案。請參閱在 Linux 桌面平台上設定組態檔中的選項
  9. 重新啟動 PC/SC 精靈。
    sudo chkconfig pcscd on
    sudo service pcscd start
  10. 安裝 Horizon Agent套件,並啟用智慧卡重新導向。
    sudo ./install_viewagent.sh -m yes
    備註: 如果您收到一則錯誤訊息,指示您安裝預設 PC/SC Lite 程式庫,請解除安裝目前存在於機器上的自訂 PC/SC Lite 程式庫,並使用以下命令,來安裝預設 PC/SC Lite 程式庫。
    yum reinstall pcsc-lite-libs pcsc-lite

    之後,您可以執行 Horizon Agent 安裝程式。

  11. 如果您使用的是自訂 PC/SC Lite 程式庫,請在 /etc/vmware/config 檔案中設定 pcscd.maxReaderContextpcscd.readBody 選項。
  12. 重新啟動虛擬機器,並重新登入。