从Active Directory中检索当前的Kerberos KVNO

我有一个连接到Windows KDC的Linux主机的Kerberos问题。 我怀疑错误版本的Kerberos密钥是责备。

一种可行的方法是删除SPN并重新创build它,但这是在生产环境中,如果您愿意,我必须以“只读”方式进行debugging。

如何从Active Directory中的委托人中检索当前的Kerberos KVNO?

我很怀疑KVNO是否与你的问题有关 ,也许可以用Linux客户端,但无论如何,使用Wireshark /networking监视器:

KVNO

关键版本号在MS-KILE第3.1.5.8节中描述。

顺便说一下,Mathias R. Jessen是正确的,因为Windows通常忽略了KVNOs。 但是他们仍然以RFC投诉的方式实施。

http://blogs.msdn.com/b/openspecification/archive/2009/11/13/to-kvno-or-not-to-kvno-what-is-the-version.aspx

不,Windows不关注KVNO。 它只是无视它。

但是KVNO在RODC环境中确实有一些意义:

http://blogs.msdn.com/b/openspecification/archive/2011/05/11/notes-on-kerberos-kvno-in-windows-rodc-environment.aspx

一些更多的信息在这里: 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