在 windows 上生成 kerberos keytab 文件需要什么?

What is needed to generate kerberos keytab file on windows?

我在不同的网站上寻找上述问题的答案,但在每种情况下都有如何生成 keytab 文件。我需要 keytab 来获取包含 kerberos 身份验证的 hbase 连接。

为了在 Windows 上生成密钥表,您需要 运行 某个版本的 Kerberos,它与目录服务器进行对话。在 Windows 上,迄今为止最普遍的例子是 Active Directory,它内置了 Kerberos 支持。您需要在加入 Active Directory 域的 Windows 服务器上创建密钥表,使用 ktpass 命令实际创建密钥表。

密钥表生成语法示例:

ktpass -out centos1-dev-local.keytab -mapUser krbCentos@DEV.LOCAL +rndPass -mapOp set +DumpSalt -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -princ HTTP/centos1.dev.local@DEV.LOCAL

以上命令示例成功创建了一个密钥表,用于名为 DEV.LOCAL 的 AD 域。注意:注意随机密码语法 (+rndPass) 的使用。在我看来,没有必要在 keytab 创建命令语法中指定密码。相反,最好允许密码随机化 - 这提供了更好的安全性,因为它可以防止任何人偷偷手动登录 AD 帐户并绕过密钥表。

要获得更多参考,我强烈建议您阅读我在 Microsoft Technet 上关于 Windows 平台上的 Kerberos keytab 创建的文章,它极大地扩展了我在这里所说的内容:Kerberos Keytabs – Explained。我经常根据在本论坛中看到的问题返回并对其进行编辑。