Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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 配置。

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 进行身份验证会失败,因为令牌已被取消同步。

解决此问题:

重新同步令牌。任何用户都可以重新同步其令牌类型,以及用户是否有权修改令牌设置。
  1. 在 IdM Web UI 中:在登录页面上,单击 Sync OTP Token

    图 B.1. 同步 OTP 令牌

    同步 OTP 令牌
    在命令行中:运行 ipa otptoken-sync 命令。
  2. 提供重新同步令牌所需的信息。例如,IdM 将要求您提供标准密码以及令牌生成的两个后续令牌代码。
    注意
    即使标准密码已过期,则重新同步也可正常工作。使用过期密码重新同步令牌后,登录到 IdM,让系统提示您更改密码。

B.4.4. 带有超时错误消息的智能卡验证失败

sssd_pam.logsssd_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 文件中进行这些更改:
  1. [pam] 部分中,将 p11_child_timeout 值增加到 60 秒。
  2. [domain/EXAMPLE.COM] 部分中,将 krb5_auth_timeout 值增加到 60 秒。
  3. 如果您在证书中使用 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。
  4. 重启 SSSD:
    # systemctl restart sssd.service