Hbase-client kerberos 身份验证仅在本地计算机上工作

Posted

技术标签:

【中文标题】Hbase-client kerberos 身份验证仅在本地计算机上工作【英文标题】:Hbase-client kerberos authentication working only on local computer 【发布时间】:2022-01-19 11:43:00 【问题描述】:

我开发了一个 spring 应用程序,它使用 hbase-client 2.1.1 通过 keytab 对 kerberized hbase 进行身份验证。

在我的本地计算机上,我可以成功进行身份验证并检索数据,但是当我将其部署到 Wildfly 服务器时,我收到以下错误:

[0m[0m11:58:56,216 INFO  [stdout] (ServerService Thread Pool -- 253) Looking for keys for: MYUSER@REAL.COM
[0m[0m11:58:56,217 INFO  [stdout] (ServerService Thread Pool -- 253) HBase create connection failed: java.io.IOException: Login failure for MYUSER@REAL.COM from keytab /home/risorse/S0008533/fc.keytab: javax.security.auth.login.LoginException: Unable to obtain password from user

keytab是一样的,路径是正确的,不知道去哪里查看其他日志。

非常感谢任何帮助。

【问题讨论】:

通过 JVM 选项在 java 中启用 kerberos 调试日志:-Dsun.security.krb5.debug=true 【参考方案1】:

您能否验证尝试使用 keytab 文件的用户是否可以使用它启动。 (keytab 文件是否有正确的权限?)

以服务器将使用 keytab 的用户身份登录并执行:

kinit -kt /home/risorse/S0008533/fc.keytab MYUSER@REAL.COM

Spring 应用程序用户很可能应该拥有密钥表。这是我经常忘记做的一件很常见的事情。

【讨论】:

非常感谢!问题是所有权。使用 kinit 我看到了一个权限错误,我用 chown 修复了它。

以上是关于Hbase-client kerberos 身份验证仅在本地计算机上工作的主要内容,如果未能解决你的问题,请参考以下文章

如何给openldap安装配置kerberos身份认证服务

IIS 7 中的 Kerberos 身份验证

Kerberos学习

带有反应的 Kerberos 身份验证

Apache shiro + kerberos 身份验证

使用 Kerberos 进行 Android 身份验证