要在 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 名称,全部为大写字母 |
过程
- 安装 PKCS11 支持软件包组。
yum install -y nss-tools nss-pam-ldapd pam_krb5 krb5-libs krb5-workstation krb5-pkinit
- 安装根证书颁发机构 (Certification Authority, CA) 证书。
- 找到下载的根 CA 证书,并将其传输到 .pem 文件。
openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
- 使用 certutil 命令将根 CA 证书安装到系统数据库 /etc/pki/nssdb 中。
certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
- 将根 CA 证书添加到 RHEL/CentOS 7.x 虚拟机上的受信任 CA 证书列表中,并使用 update-ca-trust 命令更新系统范围的信任存储配置。
cp /tmp/certificate.pem /etc/pki/ca-trust/source/anchors/ca_cert.pem
update-ca-trust
- 在系统的 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
- 修改 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 功能可能无法正常使用。
- 安装 Horizon Agent 软件包并启用 True SSO。
sudo ./install_viewagent.sh -T yes
- 将以下参数添加到 Horizon Agent 自定义配置文件 /etc/vmware/viewagent-custom.conf 中。使用以下示例,其中,NETBIOS_NAME_OF_DOMAIN 是您的组织的域的 NetBIOS 名称。
NetbiosDomain=NETBIOS_NAME_OF_DOMAIN
- 重新启动虚拟机,然后重新登录。