若要在 RHEL 9.x/8.x 桌面平台上支援 True SSO,您必須先將基礎虛擬機器 (VM) 與 Active Directory (AD) 網域整合。接著,您必須修改系統上的特定組態以支援 True SSO 功能。
此程序中的某些範例使用預留位置值來代表您網路組態中的實體,例如 AD 網域的 DNS 名稱。請將預留位置值取代為您的組態特有的資訊,如下表所說明。
預留位置值 |
說明 |
mydomain.com |
AD 網域的 DNS 名稱 |
MYDOMAIN.COM |
AD 網域的 DNS 名稱 (全部使用大寫字母) |
MYDOMAIN |
NetBIOS 網域的名稱 |
dnsserver.mydomain.com |
DNS 伺服器的名稱 |
程序
- 在基礎虛擬機器上,確認與 Active Directory 的網路連線。
realm discover mydomain.com
- 安裝所需的相依性套件。
yum install oddjob oddjob-mkhomedir sssd adcli samba-common-tools
- 加入 AD 網域。
realm join --verbose mydomain.com -U administrator
- 安裝根 CA 憑證或憑證鏈結。
- 找出您所下載的根 CA 憑證或憑證鏈結,並將其傳輸至 PEM 檔案。
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 組態檔,如下列範例所示。
[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 #Use short name for user
fallback_homedir = /home/%u@%d
access_provider = ad
ad_gpo_map_interactive = +gdm-vmwcred #Add this line for SSO
[pam] #Add pam section for certificate logon
pam_cert_auth = True #Add this line to enable certificate logon for system
pam_p11_allowed_services = +gdm-vmwcred #Add this line to enable certificate logon for VMware Horizon Agent
[certmap/mydomain.com/truesso] #Add this section and following lines to set match and map rule for certificate user
matchrule = <EKU>msScLogin
maprule = (|(userPrincipal={subject_principal})(samAccountName={subject_principal.short_name}))
domains = mydomain.com
priority = 10
- 透過將模式設定為等於
644
以修改 /etc/krb5.conf 組態檔。
備註: 如果您未按指定修改
/etc/krb5.conf,則 True SSO 功能可能無法正常運作。
- (RHEL 9.x) 為了確保 TrueSSO 在即時複製桌面平台集區中正常運作,請修改以下組態。
備註: 如果您未將虛擬機器用於即時複製桌面平台集區,可跳過這些組態。
- 執行命令以明確允許 SHA-1 密碼編譯原則。
update-crypto-policies --set DEFAULT:SHA1
- 找出您先前下載的根 CA 憑證或憑證鏈結,並複製到 /etc/pki/ca-trust/source/anchors/ca_cert.pem。然後,使用
update-ca-trust
命令,讓舊版應用程式能夠讀取受信任的憑證。
cp /tmp/certificate.pem /etc/pki/ca-trust/source/anchors/ca_cert.pem
update-ca-trust
- 修改 /etc/krb5.conf/ 檔案,如下列範例所示。
[realms]
MYDOMAIN.COM = {
kdc = dnsserver.mydomain.com
admin_server = dnsserver.mydomain.com
pkinit_anchors = DIR:/etc/pki/ca-trust/source/anchors
pkinit_kdc_hostname = dnsserver.mydomain.com
pkinit_eku_checking = kpServerAuth
}
[domain_realm]
.mydomain.com = MYDOMAIN.COM
mydomain.com = MYDOMAIN.COM
- 安裝 Horizon Agent 套件,並啟用 True SSO。
sudo ./install_viewagent.sh -T yes
- 修改 /etc/vmware/viewagent-custom.conf 組態檔,使其包含下列行。
- 重新啟動虛擬機器,並重新登入。