我在不同的网站上寻找上述问题的答案,但在每种情况下都有如何生成密钥表文件。我需要密钥表来获取包含 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 的 AD 域中使用。当地。 注意:请注意使用随机化密码语法(+rndPass)。 在我看来,没有必要在密钥表创建命令语法中指定密码。 相反,最好允许密码随机化 - 这样可以提供更好的安全性,因为它可以防止任何人以AD帐户的身份手动登录并绕过密钥表。
如需更多参考,我强烈建议您阅读我在 Technet 上的 Windows 平台上创建 Kerberos 密钥表的文章Microsoft该文章极大地扩展了我在这里所说的内容:Kerberos Keytabs – 解释。 我经常根据我在这个论坛上看到的问题回去编辑它。