要在 SLED/SLES 虚拟机 (VM) 上启用 True SSO 功能,请安装 True SSO 功能所依赖的库、支持受信任的身份验证的根证书颁发机构 (CA) 证书以及 Horizon Agent。此外,您还必须编辑某些配置文件以完成身份验证设置。

可以使用以下过程在 SLED 或 SLES 虚拟机上启用 True SSO。

前提条件

过程

  1. 通过运行以下命令安装所需的软件包。
    zypper install mozilla-nss-tools pam_krb5 krb5-client krb5-plugin-preauth-pkinit
  2. 安装根 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 中。
      将以下示例命令中的“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 证书添加到 pam_pkcs11 中。
      sudo cp /tmp/certificate.pem /etc/pki/ca-trust/source/anchors/ca_cert.pem
  3. 编辑 /etc/krb5.conf 配置文件,以使其具有类似于以下示例的内容。
    [libdefaults]
          default_realm = MYDOMAIN.COM
          dns_lookup_realm = false
          ticket_lifetime = 24h
          renew_lifetime = 7d
          forwardable = true
          rdns = false
          default_ccache_name = KEYRING:persistent:%{uid}
    
    [realms]
          MYDOMAIN.COM = {
                kdc = ads-hostname
                admin_server = ads-hostname 
                pkinit_anchors = DIR:/etc/pki/ca-trust/source/anchors
                pkinit_kdc_hostname = ADS-HOSTNAME
                pkinit_eku_checking = kpServerAuth
          }
    
    [domain_realm]
          .mydomain.com = MYDOMAIN.COM
          mydomain.com = MYDOMAIN.COM
    
    注: 您还必须将 /etc/krb5.conf 的文件权限设置为 644。否则,True SSO 功能可能无法正常使用。
    将示例中的占位符值替换为您的网络配置特定的信息,如下表中所述。
    占位符值 说明
    mydomain.com AD 域的 DNS 名称
    MYDOMAIN.COM AD 域的 DNS 名称(全部为大写字母)
    ads-hostname AD 服务器的主机名
    ADS-HOSTNAME AD 服务器的主机名(全部为大写字母)
  4. 安装 Horizon Agent 软件包并启用 True SSO。
    sudo ./install_viewagent.sh -T yes
  5. 将以下参数添加到 Horizon Agent 自定义配置文件 /etc/vmware/viewagent-custom.conf 中。使用以下语法,其中,NETBIOS_NAME_OF_DOMAIN 是您组织的 NetBIOS 域的名称。
    NetbiosDomain=NETBIOS_NAME_OF_DOMAIN
    注: 请始终使用 NetBIOS 域的长名称,例如 LXD.VDI。如果使用短名称,例如 LXD,则 True SSO 功能将无法正常使用。
  6. 重新启动虚拟机,然后重新登录。