若要在 Ubuntu/Debian 桌面平台上啟用搭配 SSSD 的 True SSO,請使用 SSSD 解決方案將基礎虛擬機器 (VM) 與 Active Directory (AD) 網域整合。接著,在安裝 Horizon Agent 之前,請先安裝根憑證授權機構 (CA) 憑證,以支援受信任的驗證。
**附註:**為確保現有的 True SSO 組態在 Horizon 8 升級後能持續運作,您可能需要修改 /etc/sssd/sssd.conf。如需詳細資訊,請參閱升級至 Omnissa Horizon 8 版本 2412 及更新版本。
此程序中的某些範例使用預留位置值來代表您網路組態中的實體,例如,您虛擬機器的主機名稱。請將預留位置值取代為您的組態特有的資訊,如下表所說明。
| 預留位置值 | 說明 |
|---|---|
| dns_IP_ADDRESS | DNS 名稱伺服器的 IP 位址 |
| mydomain.com | AD 網域的 DNS 名稱 |
| MYDOMAIN.COM | AD 網域的 DNS 名稱 (全部使用大寫字母) |
| myhost | Ubuntu/Debian 虛擬機器的主機名稱 |
| MYDOMAIN | 包含 Samba 伺服器的工作群組或 NT 網域的 DNS 名稱 (全部使用大寫字母) |
| ads-hostname | AD 伺服器的主機名稱 |
| admin-user | AD 網域管理員的使用者名稱 |
先決條件
-
確認該虛擬機器正在執行下列其中一個發行版。
- Ubuntu
- Debian
-
為 Omnissa Access 和 Horizon Connection Server 設定 True SSO。
-
取得根 CA 憑證,並將其儲存至 Ubuntu/Debian 虛擬機器上的
/tmp/certificate.cer。請參閱如何匯出根憑證授權機構憑證。如果子憑證授權機構 (CA) 也是核發授權機構,則需取得根 CA 和子 CA 的完整憑證鏈結,並將其儲存到虛擬機器上的
/tmp/certificate.cer。
程序
-
在基礎虛擬機器上,確認與 Active Directory 的網路連線。
sudo apt install -y realmd sudo realm discover mydomain.com -
安裝所需的相依性套件。
sudo apt-get install sssd-tools sssd libnss-sss libpam-sss libpam-pkcs11 adcli samba-common-bin krb5-user krb5-pkinit -
加入 AD 網域。
sudo realm join --verbose mydomain.com -U admin-user -
安裝根 CA 憑證或憑證鏈結。
-
找出您所下載的根 CA 憑證或憑證鏈結,並將其傳輸至 PEM 檔案。
sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem -
將憑證複製到
/etc/sssd/pki/sssd_auth_ca_db.pem檔案。sudo cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
-
-
修改
/etc/sssd/sssd.conf組態檔,如下列範例所示。附註:
use_fully_qualified_names = False表示使用者將使用簡短名稱。新增
ad_gpo_map_interactive = +gdm-hzncred這一行以支援 SSO僅在 Ubuntu 20.04 和 Debian 12 中新增
ad_gpo_access_control = permissive,以修正 https://bugs.launchpad.net/ubuntu/+source/sssd/+bug/1934997新增以下
[pam]程式碼行以啟用憑證登入。pam_cert_auth這一行可啟用系統的憑證登入。pam_p11_allowed_services這一行可啟用 Horizon Agent 的憑證登入。新增以下
[cert]程式碼行以設定憑證使用者的比對與對應規則。[sssd] domains = mydomain.com config_file_version = 2 services = nss, pam [domain/mydomain.com] ad_domain = mydomain.com krb5_realm = MYDOMAIN.COM realmd_tags = manages-system joined-with-adcli cache_credentials = True id_provider = ad krb5_store_password_if_offline = True default_shell = /bin/bash ldap_id_mapping = True use_fully_qualified_names = False fallback_homedir = /home/%u@%d access_provider = ad ad_gpo_map_interactive = +gdm-hzncred ad_gpo_access_control = permissive [pam] pam_cert_auth = True pam_p11_allowed_services = +gdm-hzncred [certmap/mydomain.com/truesso] matchrule = <EKU>msScLogin maprule = (|(userPrincipal={subject_principal})(samAccountName={subject_principal.short_name})) domains = mydomain.com priority = 10 -
將
/etc/krb5.conf組態檔的存取模式變更為可編輯。sudo chmod 644 /etc/krb5.conf -
修改
/etc/krb5.conf檔案,如下列範例所示。kdc and pkinit_kdc_hostname specify Kerberos Key Distribution Center This can be found in output of "dig +short _kerberos._tcp.MYDOMAIN.COM SRV" or "nslookup -type=SRV _kerberos._tcp.dc._msdcs.mydomain.com"在
[realms]區段中包含下列PKINT參數。pkinit_anchors specifies the directory containing trusted CA certificates for PKINIT pkinit_kdc_hostname: Hostname of the KDC for PKINIT pkinit_eku_checking: Controls Extended Key Usage checking (example, kpServerAuth)以下範例在
[realms]區段中包含PKINT參數。[realms] http://MYDOMAIN.COM = { kdc = http://dnsserver.mydomain.com admin_server = http://dnsserver.mydomain.com pkinit_anchors = FILE:/etc/sssd/pki/sssd_auth_ca_db.pem pkinit_kdc_hostname = http://dnsserver.mydomain.com pkinit_eku_checking = kpServerAuth } -
安裝啟用 True SSO 的 Horizon Agent 套件。
sudo ./install_viewagent.sh -T yes -
修改
/etc/omnissa/viewagent-custom.conf組態檔,並加入下列一行。
```
NetbiosDomain = MYDOMAIN
```
11. 重新啟動虛擬機器,並重新登入。
此頁面對您有幫助嗎?