Skip to main content

2026 年 10 月 2 日

为 RHEL 和 Rocky Linux 9.x/8.x 桌面配置智能卡重定向

要为 RHEL 和 Rocky Linux 9.x/8.x 桌面设置智能卡重定向,请先将基础虚拟机 (VM) 与 Active Directory (AD) 域集成。然后安装必要的库和根 CA 证书,之后再安装 Horizon Agent。

示例中使用的占位符

该过程中的一些示例使用占位符值以表示网络配置中的实体,例如,AD 域的 DNS 名称。请将占位符值替换为您的配置特定的信息,如下表中所述。

占位符值描述
dns_IP_ADDRESSDNS 名称服务器的 IP 地址
rhelsc.domain.com虚拟机的完全限定主机名
rhelsc虚拟机的非限定主机名
domain.comAD 域的 DNS 名称
DOMAIN.COMAD 域的 DNS 名称,全部为大写字母
DOMAIN包含 Samba 服务器的工作组或 NT 域的 DNS 名称,全部为大写字母
dnsserver.domain.comAD 服务器的主机名

**注意:**以下步骤使用名称 agent-installer.el8.x86_64.rpm 指代 RPM 安装程序文件。

步骤

  1. 在基础虚拟机上,执行以下操作。

    a. 根据组织要求配置网络和 DNS 设置。

    b. 关闭 IPv6。

    c. 关闭自动 DNS。

  2. 安装所需的依赖项包。

    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
    
  3. 编辑 /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
    
  4. 在基础虚拟机上,验证与 AD 域的网络连接。

    sudo realm discover domain.com
    
  5. 加入 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'
    
  6. 启用 pcscd 服务。

    sudo systemctl enable pcscd-horizon
    sudo systemctl start pcscd-horizon
    
  7. 修改 /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
    
  8. 指定系统身份和身份验证源。

    sudo authselect select sssd with-smartcard with-mkhomedir
    
  9. 按照如何导出根证书颁发机构证书中所述获取根证书颁发机构 (CA) 证书或证书链,然后安装该证书。

    a. 找到您下载的根 CA 证书或证书链,并将其传输到 PEM 文件。

    sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    

    b. 将证书复制到 /etc/sssd/pki/sssd_auth_ca_db.pem 文件中。

    sudo cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
    
  10. 要验证智能卡的状态,请运行以下 pkcs11-tool 命令,并确认它们返回正确的输出。

    sudo pkcs11-tool -L
    
    sudo pkcs11-tool --login -O
    
    sudo pkcs11-tool --test --login
    
  11. 要在停用 SSO 时支持智能卡 SSO 功能和 Horizon Greeter,请配置 /etc/omnissa/viewagent-greeter.conf 文件。请参阅在 Linux 桌面上编辑配置文件。

  12. 安装 Horizon Agent 软件包并启用智能卡重定向。

    • 如果使用 .rpm 安装程序:

      a. 运行安装程序以使用默认功能选项安装 Horizon Agent。

      sudo rpm -ivh agent-installer.el8.x86_64.rpm
      

      b. 要添加智能卡重定向功能,请运行 ViewSetup.sh 脚本。

      sudo /usr/lib/omnissa/viewagent/bin/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 安装程序。

  13. 如果您使用的是自定义 PC/SC Lite 库,请在 /etc/omnissa/config 文件中配置 pcscd.maxReaderContext 和 pcscd.readBody 选项。

    请参阅在 Linux 桌面上编辑配置文件。

  14. 重新启动虚拟机,然后重新登录。

此页面对您有帮助吗?

对本主题提供反馈

本主题对您有帮助吗?

请勿填写任何个人信息或机密信息。

正在生成链接…