若要在 RHEL 9.x/8.x 虛擬機器 (VM) 上設定智慧卡重新導向,請安裝該功能所依賴的程式庫,以及支援受信任的智慧卡驗證所需的根憑證授權機構 (CA) 憑證。
必要條件
- 整合 RHEL 9.x/8.x 虛擬機器與 Active Directory 以支援智慧卡重新導向
- 若要在 FIPS 模式下使用智慧卡 Single Sign-On (SSO) 功能,請確保您已完成設定符合 FIPS 標準的 Linux 虛擬機器中所述的所有步驟。您必須將 VMwareBlastServer 的信任 CA 憑證新增至 /etc/vmware/ssl/rui.crt,並將與 rui.crt 配對的金鑰新增至 /etc/vmware/ssl/rui.key。
程序
- 安裝所需的程式庫。
yum install -y opensc pcsc-lite pcsc-lite-libs pcsc-lite-ccid nss-tools
- 啟用 pcscd 服務。
systemctl enable pcscd systemctl start pcscd
- 確保 /etc/sssd/sssd.conf 組態檔包含以下行,這會啟用智慧卡驗證。
[pam] pam_cert_auth = True
- 將所需的 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
- 若要確認智慧卡的狀態,請執行以下 pkcs11-tool 命令,並確認命令傳回正確的輸出。
pkcs11-tool -L pkcs11-tool --login -O pkcs11-tool --test --login
- 複製所需的驅動程式,並將所需的程式庫檔案新增至 nssdb 目錄。
- 執行類似下列範例的命令。
這些範例命令會顯示如何將 Gemalto PIV 2.0 卡的驅動程式檔案 libcmP11.so 新增至 nssdb 目錄。若要取代 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
- 執行以下命令,確認預期的憑證已成功載入。
# certutil -L -d /etc/pki/nssdb
確認命令傳回的輸出與下列範例類似。Certificate Nickname rootca
- 執行以下命令,確認預期的程式庫已成功新增。
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 –-----------------------------------------------------------
- 執行類似下列範例的命令。
- 建立 /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 檔案。 - 若要支援智慧卡 SSO 功能,請設定 /etc/vmware/viewagent-greeter.conf 檔案。請參閱在 Linux 桌面平台上設定組態檔中的選項。
- 安裝 Horizon Agent套件,並啟用智慧卡重新導向。
- 如果使用 .rpm 安裝程式:
- 請執行安裝程式,以使用預設功能選項來安裝 Horizon Agent。
sudo rpm -ivh VMware-horizonagent-linux-YYMM-y.y.y-xxxxxxx.el8.x86_64.rpm
- 若要新增智慧卡重新導向功能,請執行
ViewSetup.sh
指令碼。/usr/lib/vmware/viewagent/bin/ViewSetup.sh -m yes
- 請執行安裝程式,以使用預設功能選項來安裝 Horizon Agent。
- 如果使用 .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 安裝程式。
- 如果使用 .rpm 安裝程式:
- 如果您使用的是自訂 PC/SC Lite 程式庫,請在 /etc/vmware/config 檔案中設定 pcscd.maxReaderContext 和 pcscd.readBody 選項。
- 重新啟動虛擬機器,並重新登入。