要在 SLED/SLES 虚拟机 (VM) 上配置智能卡重定向功能,请安装该功能所依赖的库以及用于支持可信智能卡身份验证的根证书颁发机构 (CA) 证书。此外,您还必须编辑某些配置文件以完成身份验证设置。
该过程中的一些示例使用占位符值以表示网络配置中的实体,例如,AD 域的 DNS 名称。请将占位符值替换为您的配置特定的信息,如下表中所述。
| 占位符值 | 描述 |
|---|---|
| dns_IP_ADDRESS | DNS 名称服务器的 IP 地址 |
| mydomain.com | AD 域的 DNS 名称 |
| MYDOMAIN.COM | AD 域的 DNS 名称,全部为大写字母 |
| MYDOMAIN | 包含 Samba 服务器的工作组或 NT 域的 DNS 名称,全部为大写字母 |
| ads-hostname | AD 服务器的主机名 |
| ads-hostname.mydomain.com | AD 服务器的完全限定域名 (FQDN) |
| mytimeserver.mycompany.com | NTP 时间服务器的 DNS 名称 |
| AdminUser | 虚拟机管理员的用户名 |
必备条件
完成将 SLED/SLES 虚拟机与 AD 集成以进行智能卡重定向中所述的步骤。
步骤
-
安装 PAM 库和其他所需的软件包。
sudo zypper install pam_pkcs11 mozilla-nss mozilla-nss-tools pcsc-lite pcsc-ccid opensc pcsc-tools您可能需要启用 PackageHub 等扩展才能安装上述所有软件包。
-
安装根 CA 证书。
-
下载一个根 CA 证书,并将其保存到系统上的
/tmp/certificate.cer中。请参阅如何导出根证书颁发机构证书。 -
将信任定位点安装到 NSS 数据库。
sudo mkdir /etc/pam_pkcs11/nssdb sudo certutil -N -d /etc/pam_pkcs11/nssdb sudo certutil -L -d /etc/pam_pkcs11/nssdb sudo certutil -A -n rootca -i certificate.pem -t "CT,CT,CT" -d /etc/pam_pkcs11/nssdb -
安装所需的驱动程序。
sudo modutil -add "opensc lib" -libfile /usr/lib64/opensc-pkcs11.so -dbdir /etc/pam_pkcs11/nssdb/
-
-
编辑
/etc/pam_pkcs11/pam_pkcs11.conf文件,如以下示例中所示。use_pkcs11_module = opensc; ... pkcs11_module opensc { module = /usr/lib64/opensc-pkcs11.so; description = "OpenSC PKCS#11 module"; slot_num = 0; nss_dir = /etc/pam_pkcs11/nssdb; crl_dir = /etc/pam_pkcs11/crls; support_threads = false; cert_policy = ca,signature; token_type = "Smart card"; } ... use_mappers = cn, null; ... mapper cn { debug = false; module = internal; ignorecase = true; mapfile = file:///etc/pam_pkcs11/cn_map; } -
编辑
/etc/pam_pkcs11/cn_map配置文件,使其包含以下行。ads-hostname -> ads-hostname -
修改 PAM 配置。
-
先停用
pam_config工具,然后才能配置智能卡身份验证。sudo find /etc/pam.d/ -type l -iname "common-*" -delete sudo for X in /etc/pam.d/common-*-pc; do cp -ivp $X ${X:0:-3}; done -
在
/etc/pam.d/目录下,创建一个名为common-auth-smartcard的文件。在该文件中添加以下内容。auth required pam_env.so auth sufficient pam_pkcs11.so auth optional pam_gnome_keyring.so auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass auth required pam_winbind.so use_first_pass -
将以下两个文件中的
auth include common-auth行替换为auth include common-auth-smartcard行:/etc/pam.d/gdm和/etc/pam.d/xscreensaver。
-
-
要将 pcscd 服务配置为在虚拟机重新启动后自动启动,请编辑
pcscd-horizon.service文件。-
将
WantedBy=multi-user.target行添加到/usr/lib/systemd/system/pcscd-horizon.service中,使该文件类似于以下示例。[Unit] Description=PC/SC Smart Card Daemon Requires=pcscd.socket [Service] ExecStart=/usr/lib/omnissa/viewagent/bin/pcscd-horizon --foreground --auto-exit ExecReload=/usr/lib/omnissa/viewagent/bin/pcscd-horizon --hotplug [Install] Also=pcscd.socket WantedBy=multi-user.target -
在编辑
pcscd-horizon.service文件后,运行以下命令。sudo systemctl enable pcscd-horizon
**注意:**如果在虚拟机重新启动后 pcscd 服务未启动,则首次通过 pam_pkcs11 登录会失败。
-
-
关闭防火墙。
sudo systemctl stop firewalld sudo systemctl disable firewalld**注意:**启用防火墙后,智能卡重定向有时会失败。
-
要在停用 SSO 时支持智能卡 SSO 功能和 Horizon Greeter,请配置
/etc/omnissa/viewagent-greeter.conf文件。请参阅在 Linux 桌面上编辑配置文件。 -
安装 Horizon Agent 软件包并启用智能卡重定向。
sudo ./install_viewagent.sh -m yes**注意:**如果您收到一条错误消息,指示您安装默认 PC/SC Lite 库,请卸载计算机上当前存在的自定义 PC/SC Lite 库,并使用以下命令安装默认 PC/SC Lite 库。
sudo zypper install -f -y pcsc-lite libpcsclite1然后,可以运行 Horizon Agent 安装程序。
-
如果您使用的是自定义 PC/SC Lite 库,请在
/etc/omnissa/config文件中配置 pcscd.maxReaderContext 和 pcscd.readBody 选项。 -
重新启动虚拟机,然后重新登录。
此页面对您有帮助吗?