配置联合认证服务
您可以使用联邦身份验证服务(FAS)对登录到Linux VDA的用户进行身份验证。对于FAS登录功能,Linux VDA使用与Windows VDA相同的Windows环境。有关为FAS配置Windows环境的信息,请参阅联合身份验证服务.本文提供了特定于Linux VDA的额外信息。
请注意
Linux VDA不支持在会话行为政策。
Linux VDA使用短连接与FAS服务器进行数据传输
在Linux VDA中配置FAS
RHEL 8/CentOS 8上的FAS支持
FAS依赖于pam_krb5模块,在RHEL 8/CentOS 8上已弃用。在RHEL 8/CentOS 8上使用FAS,构建pam_krb5模块如下:
从以下网站下载pam_krb5-2.4.8-6源代码:
https://centos.pkgs.org/7/centos-x86_64/pam_krb5-2.4.8-6.el7.x86_64.rpm.html.
在RHEL 8/CentOS 8上构建并安装pam_krb5模块。
Yum安装GCC krb5-devel pam-devel autoconf libtool rpm2cpio pam_krb5-2.4.8-6.el7.src。RPM | cpio -div tar XVZF pam_krb5-2.4.8.tar.gz /configure——prefix=/usr make make install
验证pam_krb5。因此存在于/usr/lib64/security/目录下。
Ls -l /usr/lib64/security | grep pam_krb5
FAS设置服务器
对于全新的Linux VDA安装,要使用FAS,在执行ctxinstall.sh或ctxsetup.sh期间,当要求您输入CTX_XDL_FAS_LIST时,请键入每个FAS服务器的FQDN。由于Linux VDA不支持AD组策略,可以使用分号分隔的FAS服务器列表代替。如果删除了任何服务器地址,则用
要升级现有的Linux VDA安装,可以重新运行ctxsetup.sh
设置FAS服务器。或者,您可以运行以下命令来设置FAS服务器并重新启动ctxvda
服务使您的设置生效。
sudo/opt/Citrix/VDA/bin/ctxreg create-k“HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService”-t“REG_SZ”-v“Addresses”-d“<您的FAS服务器列表>”--强制服务ctxjproxy重启服务ctxvda重启<--需要复制-->
通过以下方式更新FAS服务器:ctxreg
,执行如下命令:
sudo/opt/Citrix/VDA/bin/ctxreg更新-k“HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService”-v“Addresses”-d“<您的FAS服务器列表>”服务ctxjproxy重启服务ctxvda重启<--需要复制-->
安装证书
要验证用户证书,请在VDA上安装根CA证书和所有中间证书。例如,要安装根CA证书,请从前面的从Microsoft CA检索CA证书(在AD上)步骤,或从根CA服务器下载其DER格式http://CA-SERVER/certsrv
.
注意:
下面的命令也适用于配置中间证书。
转换DER文件(。执行如下命令,将“。crt, .cer, .der”转换为PEM文件。
sudo openssl x509-通知der-in-root.cer-out-root.pem<--需要复制-->
然后将根CA证书安装到openssl
通过运行类似于以下命令的命令来创建目录:
sudo cp root.pem/etc/pki/CA/certs/<--需要复制-->
注意:
不要将根CA证书放在/根路径否则,FAS没有根CA证书的读取权限。
运行ctxfascfg.sh
执行ctxfascfg.sh脚本,配置FAS参数。
sudo/opt/Citrix/VDA/sbin/ctxfascfg.sh<--需要复制-->
添加了两个环境变量,以便ctxfascfg.sh
可以在静默模式下运行:
CTX_FAS_ADINTEGRATIONWAY=winbind | sssd | centrify | pbis—表示活动目录集成方法,等于
CTX_EASYINSTALL_ADINTEGRATIONWAY
什么时候CTX_EASYINSTALL_ADINTEGRATIONWAY
是指定的。如果CTX_EASYINSTALL_ADINTEGRATIONWAY
没有指定,CTX_FAS_ADINTEGRATIONWAY
使用自己的值设置。如果选择“PBIS”,需要按照脚本提示输入KDC (Key Distribution Center)的主机名。CTX\u FAS\u证书路径=<证书路径>–指定存储根证书和所有中间证书的完整路径。
选择正确的Active Directory集成方法,然后键入正确的证书路径(例如,/etc/pki/CA/certs/
).
然后,脚本安装krb5 pkini和pam_krb5包,并设置相关的配置文件。
限制
FAS支持有限的Linux平台和AD集成方法。见以下矩阵:
Winbind SSSD Centrify PBIS RHEL 8.4 / CentOS 8 (2105) 对 对 对 对 RHEL 8.3 / CentOS 8.3 对 对 对 对 RHEL 8.2/CentOS 8.2 对 对 对 对 RHEL 8.1/CentOS 8.1 对 对 对 对 RHEL 7.9/CentOS 7.9 对 对 对 对 RHEL 7.8/CentOS 7.8 对 对 对 对 Ubuntu 20.04 对 不 对 不 Ubuntu 18.04 对 不 对 不 Ubuntu 16.04 对 不 对 不 系统性红斑狼疮12.5 对 不 对 不 - FAS目前还不支持锁屏。如果在会话中单击锁定按钮,则无法通过FAS重新登录会话。
- 此版本仅支持中总结的常见FAS部署联邦身份验证服务体系结构概述第条,不包括Windows10Azure广告加入.
故障排除
处理FAS故障前,请确保Linux VDA已正确安装和配置,以便通过密码认证在普通存储上成功启动非FAS会话。
如果非fas会话正常,则设置HDX日志级别登录类设置为详细,VDA日志级别设置为跟踪。有关如何为Linux VDA启用跟踪日志记录的信息,请参阅知识中心文章CTX220130.
FAS服务器配置错误
从FAS存储启动会话失败。
检查/var/log/xdl/hdx.log并查找类似以下内容的错误日志:
2021-01-28 01:42:16.164citrix ctxlogin:validate_用户:[登录类型]联合身份验证登录。2021-01-28 01:42:16.164citrix ctxlogin:validate\u fas:entry 2021-01-28 01:42:16.164citrix ctxlogin:connect\u fas:start connect to server 0 2021-01-28 01:42:16.164citrix ctxlogin:connect\u fas0:连接失败:连接被拒绝。2021-01-28 01:42:16.164citrix ctxlogin:validate\u fas:无法连接到服务器[0],请确认fas服务列表在condb 2021-01-28 01:42:16.164citrix ctxlogin:validate\u fas:exit中是否配置良好,43 2021-01-28 01:42:16.164citrix ctxlogin:validate\u用户:验证fas凭证失败2021-01-28 01:42:16.164citrix ctxlogin:LoginBox验证:验证用户凭证失败user1@CTXDEV.LOCAL,无效的_参数<--需要复制-->
解决方案
运行以下命令以验证Citrix注册表值“HKEY\U LOCAL\U MACHINE\SOFTWARE\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService”是否设置为
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep "UserCredentialService"
如果设置不正确,请按照上述步骤操作FAS设置服务器步骤重新设置。
不正确的CA证书配置
从FAS存储启动会话失败。一个灰色的窗口出现了,几秒钟后又消失了。
检查/var/log/xdl/hdx.log并查找类似以下内容的错误日志:
2011-01-28 01:47:46.210 Citrix -ctxlogin: get_logon_certificate: entry 2012-01-28 01:47:46.210 Citrix -ctxlogin: check_caller: current process: pid [30656], name [/opt/Citrix/VDA/bin/ctxlogin]输入201 -01-28 01:47:46.211 citrix-ctxlogin: query_fas: waiting for response…2011-01-28 01:47:46.270 citrix-ctxlogin: query_fas: query to server success 2012-01-28 01:47:46.270 citrix-ctxlogin: get_public_certificate: exit2012-01-28 01:47:46.271 citrix-ctxlogin: get_logon_certificate: get logon certificate successexit, 0 2011-01-28 01:47:48.060 citrix-ctxlogin: validate_user: pam_authenticate err,可以重试用户user1@CTXDEV.LOCAL
解决方案
验证在/etc/krb5.conf中是否正确设置了存储根CA证书和所有中间证书的完整路径。完整路径类似于以下内容:
[realms] EXAMPLE.COM = {...... . txt . txt . txt . txtpkinit_anchors = DIR:/etc/pki/CA/certs/ ......} < !——NeedCopy >
如果设置不正确,请按照上述步骤操作安装证书步骤重新设置。
或者,检查根CA证书是否有效。
影子帐户映射错误
FAS由SAML身份验证配置。在ADFS用户在ADFS登录页上输入用户名和密码后,可能会发生以下错误。
此错误表示已成功验证ADFS用户,但AD上没有配置影子用户。
解决方案
将影子帐户设置为AD。
ADFS不配置
在试图登录FAS存储时发生以下错误:
当FAS存储被配置为使用SAML身份验证,但缺少ADFS部署时,就会出现问题。
解决方案
为联邦身份验证服务部署ADFS IdP。有关详细信息,请参阅联邦身份验证服务ADFS部署.
相关信息
- 常见的FAS部署总结在联邦身份验证服务体系结构概述文章
- “How-to”文章在联合身份验证服务配置和管理文章
已知问题
当使用FAS时,您可能会在尝试启动非英语字符的已发布桌面或应用程序会话时失败。
变通办法
右键单击管理模板在CA工具中修改Citrix_智能卡登录模板的从此活动目录信息生成来在请求中提供: