问题标签 [keytab]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 如何从 Node JS 上的 Kerboros keytab 文件中读取主体和加密密钥?
我需要拦截到我的节点服务器的特定请求并在那里引入 Kerberos 身份验证。
假设如果一个请求来自 /names/ ,我需要首先 Kerberos 对其进行身份验证,并且只有当它成功通过身份验证时,我才会继续执行该请求。
我有一个 .keytab 文件,据我所知,它包含身份验证所需的主体和加密密钥。
问题:如何在 Node JS 上读取 .keytab 加密文件?我查看了 node-krb5 和 node-passport 之类的 Node 包,但找不到读取我的 keytab 文件的方法
如果您做了类似的事情,请提供帮助。谢谢。
hadoop - 使用 key.tab 文件在 HDFS 上验证脚本
如何使用 key-tab 文件在 kerberos 环境中验证 hadoop hdfs 上的脚本。我们得到 GSS 身份验证错误
hadoop - 使用 Kerberos 密钥表通过 Beeline 连接到 Hive
是否可以使用(kerberos)密钥表文件通过直线连接到 Hive,类似于用于 JDBC 的方法
PS:beeline 确实支持使用用户名和密码连接到 kerberos 安全配置单元服务器。但我正在寻找一种将它与 keytab 文件连接的方法。 http://doc.mapr.com/display/MapR40x/Configuring+Hive+on+a+Secure+Cluster#ConfiguringHiveonaSecureCluster-UsingBeelinewithKerberos
java - 使用 Java 1.7 的 Kerberos“找不到任何 Kerberos 密钥” - 无法识别接受者凭据
我想使用 keytab 识别针对 ADS 的服务。它在 Java 8 上成功,但在 Java 6 或 Java 7 上不成功。两者都因错误而失败GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos Key)
。
在这两种情况下,我都使用isInitiator=true
,因为如果没有,它会失败。据我所知,Java 8 在文件中找到了作为接受者的发起者凭证:
较旧的 java 实现仅找到启动器之一,并在他们想要使用接受器时生成异常:
keytab 本身只包含一个键:
我不太明白什么时候 keytab 是发起者,什么时候不是发起者,以及为什么不同版本的 java 会导致不同的结果。有人可以帮忙吗?
login - Kerberos java到hive keytab身份验证,登录失败UserGroupInformation.loginUserFromKeytab
我试图让 kerberos keytab 身份验证工作从 java 到 Hive,但没有找到解决问题的解决方案。
java.io.IOException:来自 org.apache.hadoop.security.UserGroupInformation.loginUserFromKeytab(UserGroupInformation.java:855) 的 keytab {keyTabPath} 的 {krbPrincipal} 登录失败
原因:javax.security.auth.login.LoginException:无法从用户获取密码
在 com.sun.security.auth.module.Krb5LoginModule.promptForPass(Krb5LoginModule.java:789) 在 com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:654)
我真的很感激一些洞察力来帮助解决这个问题。
security - HTTPClient 从 keytab 登录以访问 hadoop jobhistory 服务
我正在编写一个 java 程序来访问 hadoop jobhistory 服务以检索一些信息。
我正在使用 HTTPClient 进行 HttpGet 调用。我需要从 keytab 文件(我的 ~/.ssh/ 文件夹中有该文件)登录,而不是输入用户名和密码。
我的问题是:如何从 HTTPClient 中的 keytab 登录?
这是我设置 HTTPClient 的方式
一个有趣的是这段代码可以在我的 IntelliJ 中成功运行。但是在我从命令行构建并运行它之后,它会显示信息,要求我输入用户名和密码。
我是身份验证的新手,希望有人可以提供帮助。非常感谢。
kerberos - 从 IPA 服务器“拉”Kerberos / Freeipa Keytabs -> 到本地服务器
在一个完全封闭的系统中管理使用 Kerberos 的 Hortonworks (Ambari) 安装时,我处于一个相当不值得羡慕的位置。
这是问题所在:
我发现服务器 x 上的 keytab 文件(我们称之为 foo)不一致:
在 free-ipa 服务器上,我运行以下命令:
“for foo”的版本是不同的。freeipa 服务器上的版本 21。密钥表上的版本 12。
我发现了“ipa-getkeytab”,它会给我一个 keytab,但是每当我运行它时都会增加版本号(在 IPA 服务器上)。
我的 ipa-getkeytab 版本没有 -r, --retrieve 开关(保留版本)。
我需要在 7 个服务器(Hadoop 节点)上获取此密钥表。我不能使用 scp、ssh 作为封闭网络。
有没有办法让我在本地创建(拉出 foo keytab)而不增加版本号?
谢谢
迈尔斯。
authentication - 如何将密码加密到 keytab 文件中?
我在 Linux 系统上使用 keytab 文件通过 kerberos 对服务进行身份验证。我想知道这个密码是如何实际存储到该密钥表文件中的。正如我们在 /etc/passwd 中所知道的,密码是在应用单向散列方法后存储的 - 因此无法从中计算明文密码。
但是如何在 keytab 文件中完成呢?使用 keytab 的进程必须知道密码才能验证用户身份?!它是否使用主密码加密以便可以解密?
我正在使用它来创建一个 keytab 文件:
使用该密钥表,我无需输入密码即可获得 krbtgt。创建密钥表时,没有与 AD/KDC 通信(因此没有可以添加用于签名或其他内容的共享密钥)。
那么密码是如何加密到keytab中的呢?如果它不是散列算法 - 是否可以解密它?
encryption - Kerberos 密钥表文件包含多个条目
我正在尝试使用 kerberos 对我的服务的用户进行身份验证。我将 SPN 附加到使用setspn -s HTTP/<hostname> <Username>
.
然后我对上面的 SPN 附加用户使用了 ktpass 命令。但是生成的密钥表文件有多个条目,似乎正在创建多个密钥。
这里可能有什么问题?
这是 ktpass 命令的输出:
已创建密钥。
已创建密钥。
已创建密钥。
已创建密钥。
已创建密钥。
将 keytab 输出到 c:\tomcat.keytab:
密钥表版本:0x502