问题标签 [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.

0 投票
1 回答
46198 浏览

security - 究竟什么是密钥表?

我试图了解 Kerberos 是如何工作的,因此遇到了这个名为 Keytab 的文件,我相信该文件用于对 KDC 服务器进行身份验证。

就像 kerberos 领域中的每个用户和服务(比如 Hadoop)都有一个服务主体一样,每个用户和服务都有一个 keytab 文件吗?

此外,使用 keytab 的身份验证是否适用于对称密钥加密或公私钥?

0 投票
1 回答
1926 浏览

java - 没有 login.conf 的 HttpClient Kerberos Keytab 身份验证

我可以使用kerberos成功地向服务器发送和接收HTTP请求,遵循this和stackoverflow这样的或其他指令,它们都需要login.conf。但是,我想知道是否有办法摆脱 login.conf 文件,并以编程方式设置 Kerberos 身份验证详细信息。

0 投票
1 回答
1197 浏览

hadoop - Spark 1.6.Token 只能通过 kerberos 或 web 身份验证发布

我在 shell 驱动程序脚本中的 spark-submit 之前调用 kinit keytab。问题是,它自己工作,但是当我通过 Oozie 调用 shell 驱动程序脚本时,我得到了这个错误:

问题大概就在这里

编辑:在我的脚本中是: kinit -k -t /home/me/me.keytab me@DOMAIN.HAD

编辑:工作解决方案:

我用了

并且在 oozie 中执行 pyspark 脚本没有错误(甚至写入配置单元表等)。Log4j 记录器不起作用(它可以使用独立脚本),但至少 print() (标准输出到纱线日志中)是的......

谢谢

0 投票
1 回答
173 浏览

websphere - 是否可以配置 SPENGO 而与完全限定的主机名无关

我已经为 WebSphere 配置了 SPENGO,并且当前的 SPENGO 对于完全限定的主机名 appserver.robo.com 运行良好,我想要一个 SPENGO 配置,它可以同时适用于 appserver.robo.com/productName 和 appserver/productName。

有没有这样的配置是可能的?

0 投票
1 回答
2161 浏览

java - Spring security kerberos 适用于 xml 配置,但不适用于 Java 配置

我使用xml config 然后使用java config尝试了 spring security kerberos 的示例。这是完全相同的配置(一个在 xml 中,一个在 java 中)。

当我使用带有 xml 配置的项目时,它可以工作。但是,当我将项目与 java config 一起使用时,我有这个 stacktrace :

我不明白为什么它适用于 xml 配置,而不适用于 java 配置。我花了很多时间寻找,但我绝望了。这是我的 xml 配置:

这是我的java配置:

我指定我对两个项目使用相同的 keytab,在相同的环境中使用相同的 spring boot 配置进行编译。

使用 xml 配置,日志显示

而对于 Java 配置示例,我只有

有什么我忘记了吗?

0 投票
1 回答
9672 浏览

docker - 如何在docker中初始化keytab?

我有一个 krb5.conf 文件。我创建了一个 keytab 并按照此处的说明对其进行了检查。

在 docker 文件中,我将所有内容添加到容器中

并尝试在 init-keytab.sh 中对其进行初始化

但是每次我尝试访问受保护的集群时,都会收到未经授权的错误。当我检查我的密钥表时

我找不到 evkuzmin.keytab。

为什么?

我使用 Oracle 虚拟机和 docker quickstrat 终端在本地测试所有内容。Keytab 在服务器上生成并复制到本地机器上的项目中。

编辑

我使用检查了图像中的文件

他们在场。

0 投票
2 回答
3955 浏览

kerberos - Kerberos 和多个 SPN

我设法为 1 台服务器设置了 Kerberos 身份验证,并且运行正常。现在我有一个项目,我必须将另一台服务器添加到 Kerberos 配置中,如下所示:

1) 广告服务器

2) 运行服务的 server1

3) server2 将运行相同的服务

所以我执行了 setspn 命令以将两者都分配给单个“spn”用户:

setspn -s serviceX/server1.domain.com@DOMAIN.COM spn

setspn -s serviceX/server2.domain.com@DOMAIN.COM spn

然后我执行了命令 ktpass:

ktpass -princ serviceX/server1.domain.com@DOMAIN.COM -ptype KRB5_NT_PRINCIPAL -crypto AES256-SHA1 -mapuser serviceX\spn -out C:\keytab +rndPass

接下来我应该怎么做才能让它发挥作用?如何为 server2 执行 ktpass?当我为 server2 尝试相同的命令时,我收到警告:

警告:无法将 UPN serviceX/server2.domain.com ptype 1 vno 10 etype 0x12 kinit 设置为“serviceX/server2.domain.com”将失败。

你们如何为相同的服务但​​在不同的服务器上设置 kerberos 身份验证?您是否创建 2 个 spn 用户和 2 个 keytab?我认为我需要将所有内容都放在 1 个 keytab 中,因为服务需要它。有什么帮助吗?

0 投票
2 回答
10149 浏览

authentication - Kerberos - AES-256 Keytab 不起作用

我们的 AD 团队将禁用 RC4-HMAC,因此我必须将 JBoss 应用程序更改为 AES。我将 aes 类型添加到 krb5.conf 并创建了新的密钥表,但这似乎不起作用。除了使用 kinit 的应用程序之外的测试显示相同的结果。

有一个类似的问题,但我们已经启用了它的解决方案。还有另一个人(里克莫里茨)对我的问题没有答案。

服务器:SLES12

广告:Windows 服务器 2016

krb5.conf

键表

密钥表旧 RC4:

密钥表新的 AES256:

kinit 测试(krb5 版本 1.12.5)

使用密码进行身份验证(成功):

使用旧 keytab RC4 进行身份验证(成功):

使用新的 keytab AES256 进行身份验证(失败):

查看 etypes 表明 aes 似乎有效。但我无法弄清楚为什么我会收到 aes-keytabs 的预身份验证错误。

新旧 keytab 由以下 ktpass 命令创建:

我已经用正确的 kvno 而不是 0 尝试过,结果相同。

感谢您的帮助或想法。

PS 匿名 MY.DOMAIN 和 myapp

使用新编译的 krb5 1.16 进行测试

我结合了 Samson Scharfrichter 和 T.Heron 的技巧,现在我看到了在创建 keytab 时从 ktpass 获得的 SALT 和 kinit 的跟踪输出之间的区别。但我不知道它来自哪里以及如何改变它。在这种情况下,盐由其中一个 SPN 组成。

ktpass

启动跟踪

0 投票
1 回答
2382 浏览

java - 检查 Kerberos KeyTab 文件在 Java 中是否有效

我正在研究检查 Kerberos KeyTab 文件是否有效的 Java 代码库,但它使用内部类sun.security.krb5.internal.ktab.KeyTab作为其isValid()方法。目前,它正在执行以下操作:

在 Java 9 中访问这个方法更令人烦恼,所以我正在寻找一种方法来避免使用这个内部类,但是浏览 JDK 源代码,我还没有看到任何公开该isValid()方法或等价物的东西- 内部类。

是否有不依赖黑客的选项,例如反映私有方法或访问内部 API?

0 投票
1 回答
11869 浏览

linux - 预身份验证失败:获取初始凭据时密码读取中断

这是我面临的问题,我找到了解决方案。由于对此没有任何疑问,因此我将其作为问题发布,并将我的解决方案写为答案。

环境

  • 操作系统:Centos Linux、MacOS(大苏尔)
  • 集群:Cloudera Hadoop Distribution,
  • 工具:Kerberos

问题

我通过“ktutil”创建了“user.keytab”文件来更新没有密码的 krb 票证,正如这里推荐的那样https://kb.iu.edu/d/aumh

然后测试以异常结束