Skip to main content

2026 年 7 月 10 日

为 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 服务器的主机名

步骤

  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
    sudo systemctl start pcscd
    
  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,请配置 viewagent-greeter.conf 文件。请参阅在 Linux 桌面上编辑配置文件

  12. 安装 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.rpm
      

      b. 要添加智能卡重定向功能,请运行 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 安装程序。

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

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

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

此页面对您有帮助吗?

对本主题提供反馈

本主题对您有帮助吗?

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

正在生成链接…