我在连接到 Windows KDC 的 Linux 主机时遇到了 Kerberos 问题。我怀疑版本错误的 Kerberos 密钥是罪魁祸首。
一种方法是删除 SPN 并重新创建它,但这是在生产环境中,如果您愿意,我必须以“只读”方式进行调试。
如何从 Active Directory 中的主体检索当前的 Kerberos KVNO?
我在连接到 Windows KDC 的 Linux 主机时遇到了 Kerberos 问题。我怀疑版本错误的 Kerberos 密钥是罪魁祸首。
一种方法是删除 SPN 并重新创建它,但这是在生产环境中,如果您愿意,我必须以“只读”方式进行调试。
如何从 Active Directory 中的主体检索当前的 Kerberos KVNO?
使用 PowerShell 的 AD Cmdlet 可以查询 kvno:
我怀疑 KVNO 是否与您的问题有关,也许与 Linux 客户端有关,但无论如何,请使用 Wireshark/Network Monitor:密钥版本号在 MS-KILE 第 3.1.5.8 节中描述。
顺便说一句,Mathias R. Jessen 是正确的,因为 Windows 通常会忽略 KVNO。但是它们仍然以 RFC 投诉的方式实现。
https://docs.microsoft.com/en-us/archive/blogs/openspecification/to-kvno-or-not-to-kvno-what-is-the-version
但是 KVNO 在 RODC 环境中确实有一些意义:
https://docs.microsoft.com/en-us/archive/blogs/openspecification/notes-on-kerberos-kvno-in-windows-rodc-environment
更多信息在这里: https://web.archive.org/web/20150204183217/http: //support.microsoft.com/kb/2716037
在 linux 上,您可以使用kvno命令从 KDC 中检索它
从加入 AD 的 linux 服务器查询:
用您的主机名替换HOSTNAME 。
我的团队之前不得不解决这个问题,我们在一些 Linux 系统上发现了以下工作来获取 KVNO 编号:
当然,您可以将 替换为
$USER
实际需要的用户。我不知道您针对此问题的具体解决方法是什么,对我来说,我发现另一个错误提到 pam 无法从主机名中计算出域。当我检查 /etc/hosts 文件与通过 hostnamectl 设置的主机名不一致时。
本以为这会影响问题,但在我设置后它开始表现。