Skip to main content

2026 年 6 月 22 日

在 RHEL 7.9 虛擬機器上設定智慧卡重新導向

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

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

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

預留位置值說明
dns_IP_ADDRESSDNS 名稱伺服器的 IP 位址
mydomain.comAD 網域的 DNS 名稱
MYDOMAIN.COMAD 網域的 DNS 名稱 (全部使用大寫字母)
MYDOMAIN包含 Samba 伺服器的工作群組或 NT 網域的 DNS 名稱 (全部使用大寫字母)
ads-hostnameAD 伺服器的主機名稱

**附註:**如果您使用 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 組態檔中的 module 設定,如下列範例所示。

    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 桌面平台環境,請在 /etc/pam.d/mate-screensaver 的開頭新增 auth include smartcard-auth 這一行,如下列範例所示。

    #%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. 若要支援智慧卡單一登入 (SSO) 功能,請設定 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 程式庫,請在 config 檔案中設定 pcscd.maxReaderContext 和 pcscd.readBody 選項。

    請參閱在 Linux 桌面平台上設定組態檔中的選項

  12. 重新啟動虛擬機器,並重新登入。

此頁面對您有幫助嗎?

針對本主題提供意見回饋

本主題對您有幫助嗎?

請勿填寫任何個人或機密資訊。

正在產生連結…