Skip to main content

2026 年 4 月 14 日

使用 SSSD 为 Ubuntu/Debian 桌面配置智能卡重定向

要使用 SSSD 为运行 Ubuntu 或 Debian 的桌面设置智能卡重定向,请先将基础虚拟机 (VM) 与 Active Directory (AD) 域集成。然后安装必需的库和根证书颁发机构 (CA) 证书,之后再安装 Horizon Agent。

示例中的占位符

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

占位符值描述
dns_IP_ADDRESSDNS 名称服务器的 IP 地址
mydomain.comAD 域的 DNS 名称
MYDOMAIN.COMAD 域的 DNS 名称,全部为大写字母
MYDOMAIN包含 Samba 服务器的工作组或 NT 域的 DNS 名称,全部为大写字母
ads-hostnameAD 服务器的主机名
ads-hostname.mydomain.comAD 服务器的完全限定域名 (FQDN)
mytimeserver.mycompany.comNTP 时间服务器的 DNS 名称
AdminUser虚拟机管理员的用户名

步骤

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

    sudo apt-get install sssd-tools sssd libnss-sss libpam-sss adcli samba-common-bin krb5-user krb5-pkinit
    
    sudo apt-get install -y pcscd pcsc-tools pkg-config libpam-pkcs11 opensc libengine-pkcs11-openssl libnss3-tools
    
  2. 在基础虚拟机上,验证与 Active Directory 的网络连接。

    sudo realm discover domain.com
    
  3. 加入 AD 域。

    sudo realm join --verbose domain.com  -U AdminUser
    
  4. 按照如何导出根证书颁发机构证书中所述获取根证书颁发机构 (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
    
  5. 编辑 /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
    
  6. pam_sss 添加到 PAM 配置中。

    sudo pam-auth-update --disable sss-smart-card-required --enable sss-smart-card-optional
    
  7. 要确认已在智能卡上安装智能卡硬件和证书,请运行以下命令。

    sudo pcsc_scan
    sudo pkcs11_listcerts
    sudo pkcs11_inspect
    
  8. 要在停用 SSO 时支持智能卡 SSO 功能和 Horizon Greeter,请配置 /etc/omnissa/viewagent-greeter.conf 文件。请参阅在 Linux 桌面上编辑配置文件

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

    sudo ./install_viewagent.sh -m yes
    

    **注意:**如果您收到一条错误消息,指示您安装默认 PC/SC Lite 库,请卸载计算机上当前存在的自定义 PC/SC Lite 库,并使用以下命令安装默认 PC/SC Lite 库。

    sudo apt-get install --reinstall pcscd libpcsclite1
    

    然后,可以运行 Horizon Agent 安装程序。

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

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

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

此页面对您有帮助吗?

对本主题提供反馈

本主题对您有帮助吗?

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

正在生成链接…