要为 RHEL 和 Rocky Linux 9.x/8.x 桌面设置智能卡重定向,请先将基础虚拟机 (VM) 与 Active Directory (AD) 域集成。然后安装必要的库和根 CA 证书,之后再安装 Horizon Agent。
示例中使用的占位符
该过程中的一些示例使用占位符值以表示网络配置中的实体,例如,AD 域的 DNS 名称。请将占位符值替换为您的配置特定的信息,如下表中所述。
| 占位符值 | 描述 |
|---|---|
| dns_IP_ADDRESS | DNS 名称服务器的 IP 地址 |
| rhelsc.domain.com | 虚拟机的完全限定主机名 |
| rhelsc | 虚拟机的非限定主机名 |
| domain.com | AD 域的 DNS 名称 |
| DOMAIN.COM | AD 域的 DNS 名称,全部为大写字母 |
| DOMAIN | 包含 Samba 服务器的工作组或 NT 域的 DNS 名称,全部为大写字母 |
| dnsserver.domain.com | AD 服务器的主机名 |
步骤
-
在基础虚拟机上,执行以下操作。
a. 根据组织要求配置网络和 DNS 设置。
b. 关闭 IPv6。
c. 关闭自动 DNS。
-
安装所需的依赖项包。
sudo yum install oddjob oddjob-mkhomedir sssd adcli samba-common-tools krb5-pkinit sudo yum install -y opensc pcsc-lite pcsc-lite-libs pcsc-lite-ccid nss-tools -
编辑
/etc/krb5.conf配置文件,使其类似于以下示例。# To opt out of the system crypto-policies configuration of krb5, remove the # symlink at /etc/krb5.conf.d/crypto-policies which will not be recreated. includedir /etc/krb5.conf.d/ [logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] dns_lookup_realm = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true rdns = false pkinit_anchors = /etc/pki/tls/certs/ca-bundle.crt spake_preauth_groups = edwards25519 default_realm = DOMAIN.COM default_ccache_name = KEYRING:persistent:%{uid} [realms] DOMAIN.COM = { kdc = dnsserver.domain.com admin_server = dnsserver.domain.com default_domain = dnsserver.domain.com pkinit_anchors = FILE:/etc/pki/nssdb/certificate.pem pkinit_cert_match = <KU>digitalSignature pkinit_kdc_hostname = dnsserver.domain.com } [domain_realm] .domain.com = DOMAIN.COM domain.com = DOMAIN.COM -
在基础虚拟机上,验证与 AD 域的网络连接。
sudo realm discover domain.com -
加入 AD 域。
sudo realm join --verbose domain.com -U AdminUser运行
join命令将返回类似于以下示例的输出。Enter AdminUser's password: Using short domain name -- DOMAIN Joined 'rhelsc' to dns domain 'domain.com' -
启用
pcscd服务。sudo systemctl enable pcscd sudo systemctl start pcscd -
修改
/etc/sssd/sssd.conf配置文件,如以下示例中所示。在[pam]部分下,指定pam_cert_auth = True。[sssd] domains = domain.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 [pam] #Add pam section for certificate logon pam_cert_auth = True #Add this line to enable certificate logon for system -
指定系统身份和身份验证源。
sudo authselect select sssd with-smartcard with-mkhomedir -
按照如何导出根证书颁发机构证书中所述获取根证书颁发机构 (CA) 证书或证书链,然后安装该证书。
a. 找到您下载的根 CA 证书或证书链,并将其传输到 PEM 文件。
sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pemb. 将证书复制到
/etc/sssd/pki/sssd_auth_ca_db.pem文件中。sudo cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem -
要验证智能卡的状态,请运行以下
pkcs11-tool命令,并确认它们返回正确的输出。sudo pkcs11-tool -L sudo pkcs11-tool --login -O sudo pkcs11-tool --test --login -
要在停用 SSO 时支持智能卡 SSO 功能和 Horizon Greeter,请配置
viewagent-greeter.conf文件。请参阅在 Linux 桌面上编辑配置文件。 -
安装 Horizon Agent 软件包并启用智能卡重定向。
-
如果使用
.rpm安装程序:a. 运行安装程序以使用默认功能选项安装 Horizon Agent。 在以下命令中,安装程序文件名为
horizonagent-linux-YYMM-y.y.y-xxxxxxx.el8.x86_64.rpm。sudo rpm -ivh horizonagent-linux-YYMM-y.y.y-xxxxxxx.el8.x86_64.rpmb. 要添加智能卡重定向功能,请运行
ViewSetup.sh脚本。在 Linux 计算机中找到
ViewSetup.sh脚本(通常位于/usr/结构内的bin目录中)。 然后,更改为该目录以运行该脚本。sudo ViewSetup.sh -m yes -
如果使用
.tar.gz安装程序,请使用用于启用智能卡重定向功能的参数运行安装程序:sudo ./install_viewagent.sh -m yes
**注意:**如果您收到一条错误消息,指示您安装默认 PC/SC Lite 库,请卸载计算机上当前存在的自定义 PC/SC Lite 库,并使用以下命令安装默认 PC/SC Lite 库。
sudo yum reinstall pcsc-lite-libs pcsc-lite然后,可以运行 Horizon Agent 安装程序。
-
-
如果您使用的是自定义 PC/SC Lite 库,请在 Horizon
config文件中配置 pcscd.maxReaderContext 和 pcscd.readBody 选项。 -
重新启动虚拟机,然后重新登录。
此页面对您有帮助吗?