问题标签 [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.
security - 究竟什么是密钥表?
我试图了解 Kerberos 是如何工作的,因此遇到了这个名为 Keytab 的文件,我相信该文件用于对 KDC 服务器进行身份验证。
就像 kerberos 领域中的每个用户和服务(比如 Hadoop)都有一个服务主体一样,每个用户和服务都有一个 keytab 文件吗?
此外,使用 keytab 的身份验证是否适用于对称密钥加密或公私钥?
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() (标准输出到纱线日志中)是的......
谢谢
websphere - 是否可以配置 SPENGO 而与完全限定的主机名无关
我已经为 WebSphere 配置了 SPENGO,并且当前的 SPENGO 对于完全限定的主机名 appserver.robo.com 运行良好,我想要一个 SPENGO 配置,它可以同时适用于 appserver.robo.com/productName 和 appserver/productName。
有没有这样的配置是可能的?
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 配置示例,我只有
有什么我忘记了吗?
docker - 如何在docker中初始化keytab?
我有一个 krb5.conf 文件。我创建了一个 keytab 并按照此处的说明对其进行了检查。
在 docker 文件中,我将所有内容添加到容器中
并尝试在 init-keytab.sh 中对其进行初始化
但是每次我尝试访问受保护的集群时,都会收到未经授权的错误。当我检查我的密钥表时
我找不到 evkuzmin.keytab。
为什么?
我使用 Oracle 虚拟机和 docker quickstrat 终端在本地测试所有内容。Keytab 在服务器上生成并复制到本地机器上的项目中。
编辑
我使用检查了图像中的文件
他们在场。
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 中,因为服务需要它。有什么帮助吗?
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
启动跟踪
java - 检查 Kerberos KeyTab 文件在 Java 中是否有效
我正在研究检查 Kerberos KeyTab 文件是否有效的 Java 代码库,但它使用内部类sun.security.krb5.internal.ktab.KeyTab
作为其isValid()
方法。目前,它正在执行以下操作:
在 Java 9 中访问这个方法更令人烦恼,所以我正在寻找一种方法来避免使用这个内部类,但是浏览 JDK 源代码,我还没有看到任何公开该isValid()
方法或等价物的东西- 内部类。
是否有不依赖黑客的选项,例如反映私有方法或访问内部 API?
linux - 预身份验证失败:获取初始凭据时密码读取中断
这是我面临的问题,我找到了解决方案。由于对此没有任何疑问,因此我将其作为问题发布,并将我的解决方案写为答案。
环境:
- 操作系统:Centos Linux、MacOS(大苏尔)
- 集群:Cloudera Hadoop Distribution,
- 工具:Kerberos
问题:
我通过“ktutil”创建了“user.keytab”文件来更新没有密码的 krb 票证,正如这里推荐的那样https://kb.iu.edu/d/aumh
然后测试以异常结束