我有一个连接到Windows KDC的Linux主机的Kerberos问题。 我怀疑错误版本的Kerberos密钥是责备。
一种可行的方法是删除SPN并重新创build它,但这是在生产环境中,如果您愿意,我必须以“只读”方式进行debugging。
如何从Active Directory中的委托人中检索当前的Kerberos KVNO?
我很怀疑KVNO是否与你的问题有关 ,也许可以用Linux客户端,但无论如何,使用Wireshark /networking监视器:

关键版本号在MS-KILE第3.1.5.8节中描述。
顺便说一下,Mathias R. Jessen是正确的,因为Windows通常忽略了KVNOs。 但是他们仍然以RFC投诉的方式实施。
不,Windows不关注KVNO。 它只是无视它。
但是KVNO在RODC环境中确实有一些意义:
一些更多的信息在这里: http : //support.microsoft.com/kb/2716037
在具有一个或多个RODC的环境中,在以下某种情况下与某些基于MIT的Kerberos设备进行交互时,身份validation可能会失败。
·客户端是从RODC上的Windows KDC接收TGT的MIT设备
·客户端将由RODC上的Windows KDC生成的TGT传递给MIT设备,然后使用TGT代表主叫用户请求TGS。
在这两种情况下,TGT将由RODC发布,其中与该RODC的krbtgt帐户关联的msDS-SecondaryKrbTgtNumber将具有大于32767的值。
在Linux上,您可以使用kvno命令从KDC中检索它
[root@XXXX XXX]# kvno host/XXXX host/[email protected]: kvno = 13
dsquery * -filter sAMAccountName=Accountname -attr msDS-KeyVersionNumber
使用PowerShell的AD Cmdlet可以查询kvno:
get-aduser <username> -property msDS-KeyVersionNumber
从ADjoinlinux服务器查询:
net ads search -P '(&(objectCategory=computer)(cn=HOSTNAME))' msDS-KeyVersionNumber
用您的主机名replaceHOSTNAME 。