我在W12服务器上运行了以下命令: -
setspn -A HTTP / krbspn
ktpass / princ HTTP / @ / crypto ALL / ptype krb5_nt_principal / mapuser krbspn c:\ ticket \ krbspn.keytab -kvno 0 /传递Pa $$ w0rd
和kinit krbspn给出了正确的结果, 但是kinit HTTP /返回: -
KrbException:在Kerberos数据库中找不到客户端(6) 在sun.security.krb5.KrbAsRep。(KrbAsRep.java:76) at sun.security.krb5.KrbAsReqBuilder.send(KrbAsReqBuilder.java:319) at sun.security.krb5.KrbAsReqBuilder.action(KrbAsReqBuilder.java:364) at sun.security.krb5.internal.tools.Kinit。(Kinit.java:221) at sun.security.krb5.internal.tools.Kinit.main(Kinit.java:113)引起:KrbException:标识符与期望值不匹配(906) at sun.security.krb5.internal.KDCRep.init(KDCRep.java:143) at sun.security.krb5.internal.ASRep.init(ASRep.java:65) at sun.security.krb5.internal.ASRep。(ASRep.java:60) 在sun.security.krb5.KrbAsRep。(KrbAsRep.java:60) ......还有4个
我已准备好使用正向和反向DNS进行检查,但它们工作正常。
有趣的事实: -
我在同一台机器上使用了具有相同SPN名称的这些确切命令,一切都运行良好数月。但是2天后我只做了演示: -
setspn -D HTTP / krbspn
然后再次执行上述命令,现在它被打破了: - (
感谢任何帮助..
谢谢, NIKHIL
答案 0 :(得分:1)
有关如何运行ktpass命令的示例,请参阅以下链接:Kerberos Keytabs – Explained。示例ktpass命令位于文章的底部。如果您这样做,将正确构建SPN和Keytab,如果您正确地遵循其他所有内容,Kerberos身份验证将成功。