若要在 Ubuntu 桌面平台上啟用 True SSO 功能,請安裝 True SSO 功能所依賴的程式庫、支援受信任驗證所需的根 CA 憑證,以及 Horizon Agent。此外,您還必須編輯某些組態檔以完成驗證設定。

請使用下列程序在 Ubuntu 桌面平台上啟用 True SSO。若要在這些桌面平台上支援 True SSO,您必須安裝 Horizon Agent 7.8 或更新版本。

必要條件

程序

  1. 在 Ubuntu 桌面平台上,安裝 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命令將根 CA 憑證安裝至系統資料庫 /etc/pki/nssdb
      sudo certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
    4. 將根 CA 憑證複製到 /etc/pam_pkcs11/cacerts 目錄。
      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. 安裝 Horizon Agent 套件,並啟用 True SSO。
    sudo ./install_viewagent.sh -T yes
    備註: 若要使用 True SSO 功能,您必須安裝 Horizon Agent 7.8 或更新版本。
  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,請將 ms 附加至 use_mappers 一行的結尾。
    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, append "ms" at end of use_mappers
  7. 修改 PAM 組態檔中的 auth 參數。
    1. 開啟 PAM 組態檔。
      • 針對 Ubuntu 16.04,請開啟 /etc/pam.d/lightdm
      • 針對 Ubuntu 20.04/18.04,請開啟 /etc/pam.d/gdm-vmwcred
    2. 編輯 PAM 組態檔,如下列範例所示。
      auth requisite pam_vmw_cred.so
      auth sufficient pam_pkcs11.so try_first_pass
      
  8. 將系統重新開機,然後重新登入。