在 Windows 上生成 kerberos 密钥表文件需要啥?

Posted

技术标签:

【中文标题】在 Windows 上生成 kerberos 密钥表文件需要啥?【英文标题】:What is needed to generate kerberos keytab file on windows?在 Windows 上生成 kerberos 密钥表文件需要什么? 【发布时间】:2017-04-01 06:30:51 【问题描述】:

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

【问题讨论】:

嗨;如果我们已经回答了您的问题,请将其标记为这样,以便向社区中的其他人验证;否则请告诉我们。 【参考方案1】:

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

Keytab 生成语法示例:

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 帐户的身份手动登录并绕过 keytab。

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

【讨论】:

我在哪里可以在非服务器 Windows 10 上获取 ktpass.exe? @PatrickSzalapski - ktpass 不能在 Windows 10 上运行,只能在 Windows Server(即 Windows Server 2008/2012/2016/2019)上运行。

以上是关于在 Windows 上生成 kerberos 密钥表文件需要啥?的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 上生成 Agora.io 动态密钥 [关闭]

如何在 Mac 上生成 Facebook 发布密钥哈希?

sh 在Mac OS X上生成公共ssh密钥

sh 在Mac OS X上生成公共ssh密钥

LINUX SSH 密钥认证登陆配置

sshd 的 Windows 10 OpenSSH 授权密钥错误