若要在 RHEL/CentOS 7.x 虛擬機器 (VM) 上啟用 True SSO 功能,請安裝 True SSO 功能所依賴的程式庫、支援受信任驗證所需的根憑證授權機構 (CA) 憑證,以及 Horizon Agent。此外,您還必須編輯某些組態檔以完成驗證設定。

請使用下列程序在 RHEL 7.x 或 CentOS 7.x 虛擬機器上啟用 True SSO。

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

預留位置值 說明
dns_server DNS 名稱伺服器的路徑
mydomain.com AD 網域的 DNS 名稱
MYDOMAIN.COM AD 網域的 DNS 名稱 (全部使用大寫字母)

必要條件

程序

  1. 安裝 PKCS11 支援套件群組。
    sudo yum install -y nss-tools nss-pam-ldapd pam_krb5 krb5-libs krb5-workstation krb5-pkinit
  2. 安裝根 CA 憑證或憑證鏈結。
    1. 找出您所下載的根 CA 憑證或憑證鏈結,並將其傳輸至 PEM 檔案。
      sudo 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
      將以下範例命令中的「root CA cert」取代為系統資料庫中根 CA 憑證的名稱。
      sudo certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
      
    4. 將根 CA 憑證或憑證鏈結新增至 RHEL/CentOS 7.x 虛擬機器上受信任的 CA 憑證清單,並使用 update-ca-trust 命令更新全系統的信任存放區組態。
      sudo cp /tmp/certificate.pem /etc/pki/ca-trust/source/anchors/ca_cert.pem
      sudo update-ca-trust
  3. 在系統的 SSSD 組態檔中為您的網域修改適當的區段,如下列範例所示。
    [domain/mydomain.com]
    ad_domain = mydomain.com
    krb5_realm = MYDOMAIN.COM
    realmd_tags = manages-system joined-with-samba
    cache_credentials = True
    id_provider = ad
    krb5_store_password_if_offline = True
    default_shell = /bin/bash
    ldap_id_mapping = True
    #set the next line to false, so you can use the short name instead of the full domain name.
    use_fully_qualified_names = False   
    fallback_homedir = /home/%u@%d
    access_provider = ad
  4. 修改 Kerberos 組態檔 /etc/krb5.conf,如下列範例所示。
    [libdefaults]
     dns_lookup_realm = false
     ticket_lifetime = 24h
     renew_lifetime = 7d
     forwardable = true
     rdns = false
     default_ccache_name = KEYRING:persistent:%{uid}
     # Add following line, if the system doesn't add it automatically
     default_realm = MYDOMAIN.COM
     
    [realms]
    MYDOMAIN.COM = {
      kdc = dns_server
      admin_server = dns_server
      # Add the following three lines for pkinit_*
      pkinit_anchors = DIR:/etc/pki/ca-trust/source/anchors
      pkinit_kdc_hostname = your_org_DNS_server
      pkinit_eku_checking = kpServerAuth
     }
    [domain_realm]
     mydomain.com = MYDOMAIN.COM
     .mydomain.com = MYDOMAIN.COM
    備註: 您也必須在 /etc/krb5.conf 中將模式設定為等於 644。否則,True SSO 功能可能無法正常運作。
  5. 安裝 Horizon Agent 套件,並啟用 True SSO。
    sudo ./install_viewagent.sh -T yes
  6. 將下列參數新增至 Horizon Agent 自訂組態檔 /etc/vmware/viewagent-custom.conf。請使用下列範例,其中 NETBIOS_NAME_OF_DOMAIN 是您組織網域的 NetBIOS 名稱。
    NetbiosDomain=NETBIOS_NAME_OF_DOMAIN
  7. 重新啟動虛擬機器,並重新登入。