B.4. 登录和身份验证问题
B.4.1. 在运行 ipa
命令时 Kerberos GSS 失败
在安装后,当尝试运行
ipa
命令时会出现 Kerberos 错误。例如:
ipa: ERROR: Kerberos error: ('Unspecified GSS failure. Minor code may provide more information', 851968)/('Decrypt integrity check failed', -1765328353)
这意味着:
DNS 没有正确配置。
解决此问题:
验证您的 DNS 配置。
- 有关 IdM 服务器的 DNS 要求,请参阅 第 2.1.5 节 “主机名和 DNS 配置”。
- 有关 Active Directory 信任的 DNS 要求,请参阅 Windows 集成指南中的 DNS 和 Realm 设置。
B.4.2. 使用 GSS-API 时 SSH 连接失败
用户无法使用 SSH 登录 IdM 机器。
这意味着:
当 SSH 尝试使用 GSS-API 作为安全方法连接到 IdM 资源时,GSS-API 首先验证 DNS 记录。SSH 失败的原因通常是错误的反向 DNS 条目。不正确的记录可防止 SSH 找到 IdM 资源。
解决此问题:
如 第 2.1.5 节 “主机名和 DNS 配置” 所述,验证您的 DNS 配置。
作为临时解决方案,您还可以在 SSH 配置中禁用反向 DNS 查找。为此,请在
/etc/ssh/ssh_config
文件中将 GSSAPITrustDNS
设置为 no
。SSH 不使用反向 DNS 记录,而是将给定用户名直接传递给 GSS-API。
B.4.3. OTP 令牌不同步
使用 OTP 进行身份验证会失败,因为令牌已被取消同步。
解决此问题:
重新同步令牌。任何用户都可以重新同步其令牌类型,以及用户是否有权修改令牌设置。
- 在 IdM Web UI 中:在登录页面上,单击 Sync OTP Token。
图 B.1. 同步 OTP 令牌
在命令行中:运行 ipa otptoken-sync 命令。 - 提供重新同步令牌所需的信息。例如,IdM 将要求您提供标准密码以及令牌生成的两个后续令牌代码。注意即使标准密码已过期,则重新同步也可正常工作。使用过期密码重新同步令牌后,登录到 IdM,让系统提示您更改密码。
B.4.4. 带有超时错误消息的智能卡验证失败
sssd_pam.log
和 sssd_EXAMPLE.COM.log
文件包含超时错误消息,例如:
Wed Jun 14 18:24:03 2017) [sssd[pam]] [child_handler_setup] (0x2000): Setting up signal handler up for pid [12370] (Wed Jun 14 18:24:03 2017) [sssd[pam]] [child_handler_setup] (0x2000): Signal handler set up for pid [12370] (Wed Jun 14 18:24:08 2017) [sssd[pam]] [pam_initgr_cache_remove] (0x2000): [idmeng] removed from PAM initgroup cache (Wed Jun 14 18:24:13 2017) [sssd[pam]] [p11_child_timeout] (0x0020): Timeout reached for p11_child. (Wed Jun 14 18:24:13 2017) [sssd[pam]] [pam_forwarder_cert_cb] (0x0040): get_cert request failed. (Wed Jun 14 18:24:13 2017) [sssd[pam]] [pam_reply] (0x0200): pam_reply called with result [4]: System error.
这意味着:
当使用转发智能卡读取器或在线证书状态协议(OCSP)时,您可能需要调整某些默认值,以便用户能够使用智能卡进行身份验证。
解决此问题:
在您要验证的服务器和客户端中,在
/etc/sssd/sssd.conf
文件中进行这些更改:
- 在
[pam]
部分中,将p11_child_timeout
值增加到 60 秒。 - 在
[domain/EXAMPLE.COM]
部分中,将krb5_auth_timeout
值增加到 60 秒。 - 如果您在证书中使用 OCSP,请确保 OCSP 服务器可访问。如果 OCSP 服务器无法直接访问,请通过在
/etc/sssd/sssd.conf
中添加以下选项来配置代理 OCSP 服务器:certificate_verification = ocsp_default_responder=http://ocsp.proxy.url, ocsp_default_responder_signing_cert=nickname
使用/etc/pki/nssdb/
目录中的 OCSP 签名证书的别名替换 nickname。有关这些选项的详情,请查看 sssd.conf(5) man page。 - 重启 SSSD:
# systemctl restart sssd.service