升级Rocky 9上的FreeIPA服务器后Kerberos的GSSAPI机制失效,提示无效凭证错误49
升级Rocky 9上的FreeIPA服务器后Kerberos的GSSAPI机制失效,提示无效凭证错误49
看起来你在升级Rocky 9的FreeIPA服务器后遇到了Kerberos GSSAPI认证失败的问题,错误码49(无效凭证),而且仅GSSAPI方式失效,简单绑定(ldapsearch -x)正常。结合你给出的日志和命令输出,我给你梳理几个实用的排查方向:
一、先确认Kerberos票据与主体的有效性
你已经通过kinit adminipa获取了票据,但需要注意几个细节:
- 检查票据主体的大小写:Kerberos对Realm名称大小写敏感,你的票据主体是
adminipa@CAPS.INT,确认FreeIPA的域确实是大写的CAPS.INT,而非小写或混合格式。 - 验证主机keytab有效性:尝试用主机身份获取票据,执行
kinit -k host/pacific.caps.int,如果失败,说明主机的keytab可能损坏或缺失。可以用klist -k /etc/krb5.keytab查看是否存在host/pacific.caps.int@CAPS.INT的条目,若缺失则重新生成:ipa-getkeytab -p host/pacific.caps.int -k /etc/krb5.keytab。
二、检查FreeIPA服务器端的服务状态与配置
- 验证核心服务运行状态:
确保KDC、Kerberos管理服务和LDAP服务都正常运行,没有启动失败或报错信息。KDC服务异常会直接导致GSSAPI认证失败。systemctl status krb5kdc kadmin dirsrv@caps.int.service - 确认LDAP服务器支持GSSAPI机制:
在FreeIPA服务器本地执行:
查看输出中是否包含ldapsearch -x -s base -b "" supportedSASLMechanismsGSSAPI,如果没有,说明LDAP服务器的SASL配置可能在升级中被改动,需要检查389-ds的SASL配置文件(通常在/etc/dirsrv/slapd-<REALM>/目录下)。
三、排查SSSD的配置与日志细节
从你的SSSD日志来看,是host/pacific.caps.int这个主体在尝试LDAP绑定,这里有几个关键点:
- 检查SSSD主配置:打开
/etc/sssd/sssd.conf,确认域段([domain/caps.int])中的krb5_realm、ldap_uri、ipa_server等配置项是否正确指向FreeIPA服务器,没有拼写错误。 - 启用详细debug日志:修改
sssd.conf中对应域的debug_level = 9,然后重启SSSD服务:
再次执行GSSAPI认证操作,查看systemctl restart sssd/var/log/sssd/sssd_caps.int.log的详细日志,里面会包含更具体的失败原因,比如票据验证失败的具体环节。
四、验证DNS解析与主机名配置
Kerberos和FreeIPA严重依赖正确的DNS解析:
- 检查客户端完全限定域名:执行
hostname -f,确认输出是pacific.caps.int,没有拼写错误。 - 验证正向与反向DNS解析:
确保正向解析返回正确的IP,反向解析返回正确的主机名,否则Kerberos会因为主体不匹配拒绝认证。nslookup pacific.caps.int nslookup <你的客户端IP>
五、检查升级过程中的配置变更
查看FreeIPA的升级日志/var/log/ipaupgrade.log,搜索是否有Kerberos数据库更新、LDAP schema变更失败的记录。如果升级过程中出现过错误,可能导致配置或数据不一致,需要根据日志提示修复。
备注:内容来源于stack exchange,提问作者Bryan Carroll
相关产品推荐
相关产品推荐

