要在 Ubuntu/Debian 虚拟机 (VM) 上启用 True SSO 功能,请安装 True SSO 功能所依赖的库、支持受信任的身份验证的根证书颁发机构 (CA) 证书以及 Horizon Agent。如果 True SSO 身份验证也由从属 CA 颁发,则必须安装包含根 CA 证书和从属 CA 证书的完整证书链。要完成身份验证设置,必须编辑某些配置文件。
**注意:**或者,您也可以按在 Ubuntu/Debian 桌面上配置“使用 SSSD 的 True SSO”中所述,使用 SSSD 域加入解决方案配置 True SSO。
可以使用以下过程在 Ubuntu/Debian 虚拟机上启用“使用 Samba 的 True SSO”。
必备条件
-
为 Workspace ONE Access 和 Horizon Connection Server 配置 True SSO。
-
获取一个根 CA 证书,并将其保存到 Ubuntu/Debian 虚拟机上的
/tmp/certificate.cer中。请参阅如何导出根证书颁发机构证书。如果从属 CA 也是颁发机构,则需获取包含根 CA 证书和从属 CA 证书的完整证书链,并将其保存到虚拟机上的
/tmp/certificate.cer中。
步骤
-
在虚拟机上,安装
pkcs11支持软件包。sudo apt install libpam-pkcs11 -
安装
libnss3-tools软件包。sudo apt install libnss3-tools -
安装根 CA 证书或证书链。
-
找到您下载的根 CA 证书或证书链,并将其传输到 PEM 文件。
sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem -
创建
/etc/pki/nssdb目录以包含系统数据库。sudo mkdir -p /etc/pki/nssdb -
使用
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 -
创建
/etc/pam_pkcs11/cacerts目录,然后将根 CA 证书或证书链复制到该目录中。sudo mkdir -p /etc/pam_pkcs11/cacerts sudo cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts -
为根 CA 证书或证书链创建哈希链接。在
/etc/pam_pkcs11/cacerts目录中,运行以下命令。sudo pkcs11_make_hash_link
-
-
安装 Horizon Agent 软件包并启用 True SSO。
sudo ./install_viewagent.sh -T yes -
将以下参数添加到 Horizon Agent 自定义配置文件
viewagent-custom.conf中。使用以下示例,其中,NETBIOS_NAME_OF_DOMAIN 是您的组织的域的 NetBIOS 名称。NetbiosDomain=NETBIOS_NAME_OF_DOMAIN -
编辑
/etc/pam_pkcs11/pam_pkcs11.conf配置文件。-
如果需要,请创建
/etc/pam_pkcs11/pam_pkcs11.conf配置文件。在/usr/share/doc/libpam-pkcs11/examples中找到示例文件,将其复制到/etc/pam_pkcs11目录中,并将该文件重命名为pam_pkcs11.conf。根据需要,将您的系统信息添加到文件内容中。 -
修改
/etc/pam_pkcs11/pam_pkcs11.conf配置文件,以使其包含类似于以下示例的内容。
注意:
-
对于
module行,您必须从 Omnissa 技术支持团队获取适用于您 Horizon 版本的特定文件路径的名称。将以下示例中的module-file替换为您从 Omnissa 技术支持团队处获得的名称。 -
对于 Ubuntu 20.04 或更高版本,请将
ms附加到use_mappers行的末尾。use_pkcs11_module = coolkey; pkcs11_module coolkey { module = module-file; slot_num = 0; ca_dir = /etc/pam_pkcs11/cacerts; nss_dir = /etc/pki/nssdb; } mapper ms { debug = false; module = internal; # module = /usr/$LIB/pam_pkcs11/ms_mapper.so; ignorecase = false; # ignore domain name ignoredomain = true; domain = "DOMAIN.COM"; #<== Replace "DOMAIN.COM" with your organization's domain name } use_mappers = digest, cn, pwent, uid, mail, subject, null, ms; #<== For Ubuntu 20.04 or later, append "ms" at end of use_mappers
-
-
在 Linux 终端中,将
/etc/krb5.conf配置文件的访问权限设置为644,如以下示例中所示。sudo chmod 644 /etc/krb5.conf验证是否已修改权限。
ls -l /etc/krb5.conf -rw-r--r-- 1 root root xxx xx xx xxxx /etc/krb5.conf**注意:**如果未按指定方式修改
/etc/krb5.conf的权限,True SSO 功能可能无法正常使用。 -
重新启动虚拟机,然后重新登录。
此页面对您有帮助吗?