You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenLDAP SASL GSSAPI认证报错:未提供凭证,求排查

LDAP GSSAPI认证报错排查

ldapwhoami执行结果

# ldapwhoami
SASL/GSSAPI authentication started
ldap_sasl_interactive_bind: Other (e.g., implementation specific) error (80)
        additional info: SASL(-1): generic failure: GSSAPI Error:  No credentials were supplied, or the credentials were unavailable or inaccessible. (unknown mech-code 0 for mech unknown)

环境配置

  • 配置了SASL GSSAPI的OpenLDAP
  • Kerberos KDC服务器(以OpenLDAP为数据库后端)
  • 已为user1创建用于GSSAPI认证的票据缓存
  • 已配置krb5.keytab供OpenLDAP与KDC认证使用,主体为ldap/ldap.example.com@EXAMPLE.COM

票据缓存信息

# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: user1@EXAMPLE.COM

Valid starting     Expires            Service principal
03/24/24 03:38:17  03/24/24 15:38:17  krbtgt/EXAMPLE.COM@EXAMPLE.COM
        renew until 03/31/24 03:38:12
03/24/24 03:39:05  03/24/24 15:38:17  ldap/ldap.example.com@EXAMPLE.COM
        renew until 03/31/24 03:38:12

keytab信息

klist -k /etc/krb5.keytab
Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
   2 ldap/ldap.example.com@EXAMPLE.COM
   2 ldap/ldap.example.com@EXAMPLE.COM

排查方向

  1. 检查krb5.conf配置正确性

    • 确认[libdefaults]下的default_realm设置为EXAMPLE.COM,大小写必须完全匹配
    • 检查[realms]段中EXAMPLE.COM的kdc、admin_server指向正确的KDC服务器地址
    • 确认[domain_realm]中example.com已映射到EXAMPLE.COM
  2. 验证LDAP服务端SASL配置

    • 检查OpenLDAP的SASL配置文件(通常为/etc/sasl2/slapd.conf或/etc/openldap/sasl2/slapd.conf),确保包含以下配置:
      mech_list: gssapi
      keytab: /etc/krb5.keytab
      
    • 确认slapd进程对/etc/krb5.keytab有读取权限,可执行chown openldap:openldap /etc/krb5.keytab调整权限
  3. 确认客户端票据可用性

    • 检查客户端KRB5CCNAME环境变量是否指向正确的票据缓存文件/tmp/krb5cc_0,执行echo $KRB5CCNAME验证
    • 如果用sudo执行ldapwhoami,需传递环境变量,使用sudo -E ldapwhoami命令
  4. 检查DNS反向解析与SPN匹配

    • 确认LDAP服务器IP的反向解析结果为ldap.example.com,Kerberos依赖反向解析验证服务主体名(SPN)
    • 核对KDC中注册的ldap/ldap.example.com@EXAMPLE.COM主体与keytab中的信息完全一致,包括主机名、域名大小写
  5. 重新验证Kerberos票据有效性

    • 销毁现有票据并重新获取:kdestroy && kinit user1@EXAMPLE.COM,之后再次执行ldapwhoami测试
    • 查看KDC服务器日志,排查是否存在票据请求或认证失败的具体记录

内容的提问来源于stack exchange,提问作者Zach Hein

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 05:42:56