当前位置: 首页 > 知识库问答 >
问题:

在数据库中找不到Kerberos客户端

山森
2023-03-14

我使用CAS和Spnego支持,KDC是192.168.1.244,我的领域是示例。COM我测试了我的本地Windows域环境,我可以从示例中获得票证。com我用“kinit”命令测试它,但在CAS spnego环境中,在Kerberos数据库中找不到异常客户端,我已经在C:\windows\krb5.ini中创建了它,内容如下

krb5.ini

[libdefaults]
   ticket_lifetime = 20000
   default_realm = EXAMPLE.COM
   dns_lookup_realm = true
   dns_lookup_kdc = false
   forwardable = yes
   default_tkt_enctypes = rc4-hmac
   default_tgs_enctypes = rc4-hmac


 [realms]
 # use "kdc =" if realm admins haven't put SRV records into DNS
    EXAMPLE.COM = {
            kdc = 192.168.1.244:88
            #admin_server = 192.168.1.244:749
            default_domain = EXAMPLE.COM         
    }

[domain_realm]
   .example.com = EXAMPLE.COM
   example = EXAMPLE.COM

[logging]
   kdc = CONSOLE

异常报告如下:

Debug is  true storeKey false useTicketCache false useKeyTab false doNotPrompt false ticketCache is null isInitiator true KeyTab is null refreshKrb5Co
nfig is false principal is null tryFirstPass is false useFirstPass is false storePass is false clearPass is false
                [Krb5LoginModule] user entered username: HTTP/jack@EXAMPLE.COM

default etypes for default_tkt_enctypes: 23.
Acquire TGT using AS Exchange
>>> KdcAccessibility: reset
default etypes for default_tkt_enctypes: 23.
>>> KrbAsReq calling createMessage
>>> KrbAsReq in createMessage
>>> KrbKdcReq send: kdc=192.168.1.244 UDP:88, timeout=30000, number of retries =3, #bytes=142
>>> KDCCommunication: kdc=192.168.1.244 UDP:88, timeout=30000,Attempt =1, #bytes=142
>>> KrbKdcReq send: #bytes read=96
>>> KrbKdcReq send: #bytes read=96
>>> KdcAccessibility: remove 192.168.1.244
>>> KDCRep: init() encoding tag is 126 req type is 11
>>>KRBError:
         sTime is Tue Dec 31 15:32:08 CST 2013 1388475128000
         suSec is 348958
         error code is 6
         error Message is Client not found in Kerberos database
         realm is EXAMPLE.COM
         sname is krbtgt/EXAMPLE.COM
         msgType is 30
                [Krb5LoginModule] authentication failed
Client not found in Kerberos database (6)
jcifs.spnego.AuthenticationException: Error performing Kerberos authentication: java.lang.reflect.InvocationTargetException
        at jcifs.spnego.Authentication.processKerberos(Authentication.java:447)
        at jcifs.spnego.Authentication.processSpnego(Authentication.java:346)
        at jcifs.spnego.Authentication.process(Authentication.java:235)
        at org.jasig.cas.support.spnego.authentication.handler.support.JCIFSSpnegoAuthenticationHandler.doAuthentication(JCIFSSpnegoAuthenticationHand
ler.java:70)
        at org.jasig.cas.authentication.handler.support.AbstractPreAndPostProcessingAuthenticationHandler.authenticate_aroundBody2(AbstractPreAndPostP
rocessingAuthenticationHandler.java:85)
       ...
Caused by: KrbException: Client not found in Kerberos database (6)
        at sun.security.krb5.KrbAsRep.<init>(KrbAsRep.java:66)
        at sun.security.krb5.KrbAsReq.getReply(KrbAsReq.java:446)
        at sun.security.krb5.Credentials.sendASRequest(Credentials.java:401)
        at sun.security.krb5.Credentials.acquireTGT(Credentials.java:350)
        at com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:662)
        ... 176 more
Caused by: KrbException: Identifier doesn't match expected value (906)
        at sun.security.krb5.internal.KDCRep.init(KDCRep.java:133)
        at sun.security.krb5.internal.ASRep.init(ASRep.java:58)
        at sun.security.krb5.internal.ASRep.<init>(ASRep.java:53)
        at sun.security.krb5.KrbAsRep.<init>(KrbAsRep.java:50)
        ... 180 more

但为什么在kerberos数据库中找不到客户端?不应在我的本地服务器上创建kerberos?thx表示点。

共有1个答案

杜志
2023-03-14

对我来说,发生此错误是因为我的Krb5LoginModule配置文件在accept部分中缺少以下参数:

isInitiator=false

如果没有这个参数,服务器还试图联系KDC并获取票证-但这不应该发生-服务器应该不需要联系KDC。

 类似资料:
  • 我在W12服务器上运行了以下命令:- setspn-A HTTP/krbspn ktpass/princ HTTP/@/crypto ALL/ptype krb5\u nt\u principal/mapuser krbspn c:\ticket\krbspn。按键-kvno 0/pass Pa$$w0rd kinit-krbspn给出了正确的结果,但kinit-HTTP/返回:- KrbExce

  • spnego/kerberos身份验证出现以下错误 运行hellokeytab.java文件时出现此错误。 安装程序、链接和我用于SPNEGO/Kerberos身份验证的文件。 链接-http://spnego.sourceforge.net/ tomcat服务器的域帐户 用户-xyztest 密码-**** 主体-princ http/appserver1@corp.xyz.com 1)hell

  • 我正在obiee11.1.1.7.14中配置SSO,其中我在配置krb5.conf和执行kinit命令时遇到了问题。 关于Active Directory的几点注意事项 我们有多个域控制器,为了平衡请求,我们使用端口3269维护负载均衡器。 obiee和MSAD之间的集成成功完成,负载均衡器名称为主机,端口为3269。 并且在demotrust.jks和ovd存储中添加了一些证书,并且在新提供程序

  • 尝试在Tomcat 7(windows Server 2012)上归档集成的windows身份验证,以便Intranet用户在访问我的web应用程序时不需要输入他们的凭据。遵循tomcat手册:https://tomcat.apache.org/tomcat-7.0-doc/windows-auth-howto.html#Built-in\u Tomcat\u支持 在运行tomcat的计算机上。检

  • 其他人有这个奇怪的问题吗?错误消息: 致命错误:未捕获异常“exception”,消息为“DateTime::\uuu construct():无法分析位置17(A)处的时间字符串(2016年1月18日美国/纽约凌晨00:00):在数据库中找不到时区 异常:DateTime::_构造():未能分析位置17(A)处的时间字符串(2016年1月18日美国/纽约凌晨00:00):在数据库中找不到时区 原

  • 我的Grails应用程序在开发模式下使用h2数据库(Grails应用程序的默认行为)。中的DB连接设置是 我正在尝试使用IntelliJ IDEA的数据库客户端工具为此数据库建立连接。我开始这样创建连接 然后在下面的对话框中,输入JDBC URL 并选择“模式”上的所有可用数据库 “Test Connection”(测试连接)按钮表示成功,但从红色圆圈中可以看到,没有找到任何表格。似乎我已经正确地