问题标签 [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.
bash - 创建 keytab 以自动化脚本
我无法创建一个keytab
以自动化我正在运行的脚本。
这是我到目前为止所做的:
当我尝试运行脚本时,出现此错误:
我不确定我keytab
是否正确创建了,因为在创建过程中我很难找到关于每个参数的深入文档keytab
。我不确定-k
是用来做什么的。
java - 连接到 Kerberrized HDFS,java.lang.IllegalArgumentException: Failed to specify server's Kerberos principal name;
我正在尝试使用以下代码连接到 Kerberized hdfs 集群,使用以下相同的代码,我当然可以使用 HBaseConfiguration 访问 hbase,
我已经能够使用相同的 keytab 和主体成功访问 Solr、Impala,我得到这个奇怪的 Failed to find service name for hdfs。
请看下面的堆栈跟踪
在我为 Kerberos 启用调试代码后,当我调用 FileSystem.get(); 时,我得到了以下调试日志;Kerberor 调试日志:
Java 配置名称:null Java 配置名称:null 本机配置名称:/etc/krb5.conf 本机配置名称:/etc/krb5.conf 从本机配置加载 从本机配置加载 16/02/22 15:53:14 WARN util .NativeCodeLoader:无法为您的平台加载 native-hadoop 库...在适用的情况下使用内置 java 类
Java 配置名称:null Java 配置名称:null 原生配置名称:/etc/krb5.conf 原生配置名称:/etc/ krb5.conf 从本机配置加载 从本机配置加载
KdcAccessibility:重置 >>> KdcAccessibility:重置 KdcAccessibility:重置 >>> KdcAccessibility:重置 KeyTabInputStream,readName():EXAMPLE.COM >>> KeyTabInputStream,readName():EXAMPLE.COM KeyTabInputStream,readName():securonix >>> KeyTabInputStream , readName(): securonix KeyTab: load() 条目长度: 55; 类型:23 >>> KeyTab:load() 条目长度:55;类型:23 KeyTabInputStream,readName():EXAMPLE.COM >>> KeyTabInputStream,readName():EXAMPLE.COM KeyTabInputStream,readName():securonix >>> KeyTabInputStream,readName():securonix KeyTab:load()条目长度:71 ; 类型:18 >>> KeyTab:加载()条目长度:71;类型:18 寻找密钥:securonix@EXAMPLE。
有趣的是,当我使用像 hdfs.exists() 这样的文件系统的 api 时
java - 从 HDFS 加载密钥表
我想将 Oozie 与需要使用 Kerberos 的 Java 操作一起使用。我在 HDFS 中有我的密钥表。我怎么能说文件在 HDFS 中?
我已经尝试过类似的路径hdfs://xxxx:8020/tmp/myKeytab.keytab
并且我也设置conf.set("fs.defaultFS", "hdfs://server:8020");
过,但它不起作用。
java - GSS JAAS can't read keystore/tab
I'm attempting to connect to a database using Kerberos, everything works except for two issues. First, when I execute my code I am asked two enter my password not once but twice. Then my query is sent to my database and results are returned.
The above problem stems from what I belive the root cause, or second issue I'm having is, I JDK's inability to read the keytab.
I understand that I haven't disabled keyboard input but this is because as you see from the output above I'm unable to read the keytab or cache.
Server and Client both have matching krb5.conf, I am able to kinit, ktadd, klist all expect principals with correct enc types.
I even went so far as to chmod 777 the keytab just to make sure this wasn't a permissions issue.
authentication - 是否可以在 AD 中为用户组使用 keytab
我在 Hadoop 环境中使用 kerberos,并且我使用 keytab 文件向不同的用户提供身份验证。现在我有一些用户,我必须给他们同样的特权。
因此,我创建了一个用户组并为该活动目录组生成了一个通用密钥表文件,但未能验证密钥表文件。它给了我一个错误,如下所述:
kinit: Client 'xyz@BIGDATA.LOCAL' not found in Kerberos database while getting initial credentials
现在问题是,是否有可能在活动目录中为组使用密钥表文件,或者我应该有使用任何其他方式来实现相同?
bash - 编写 Kerberos Ktutil 脚本以制作密钥表
我想制作一个使用 ktutil 生成密钥表的脚本。运行脚本时我想使用 [user]$ script.sh PASSWORD
Ktutil 比需要密码,这里我想使用上面的 PASSWORD 参数。我将如何通过密码争论?
java - 如何在没有用户输入的情况下生成 kerberos 令牌
我正在尝试在 java 中生成一个 Kerberos 客户端令牌,以便将它发送到一个 kerberized 服务的标头中。
为此,我为我的用户创建了一个 jaas login conf 和一个 keytab。我想在没有任何用户输入的情况下自动生成令牌。现在我设法创建了一个令牌,但我被提示输入用户密码,这不是我想要的。当我将“doNotPrompt”设置为“true”(在 login.conf 中)时,我得到一个异常“无法从用户获取密码”,即使我指定了一个 keytab 文件。
我在网上找到了很少的代码示例,尽管最终我使用了它们。但我没有找到我正在尝试做的事情的答案。有谁知道如何完成我想要的?
我的 login.conf 是:
我的java代码是:
mongodb - 使用带有 kerberos 身份验证的 simba odbc 驱动程序连接到 mongodb
我在 Windows 7 机器上使用带有 sql 连接器的 simba odbc 驱动程序。我正在尝试使用密钥表文件使用 Kerberos 身份验证连接到具有数据的远程服务器。我很难弄清楚如何做到这一点。我在以下链接上看到了此信息:Simba Odbc Install guide kerberos,但它无法理解如何使用 keytab 文件或在 Simba 管理员工具中给出它的路径。谁能指出我正确的方向?谢谢!
bash - 使用 keytab 而不将其写入磁盘的 Bash 脚本
我有一个正在解密的加密密钥表,将其写入磁盘,然后与 kinit 一起使用。
我想要做的是能够使用keytab而不将其写入磁盘,只需解密并直接与kinit一起使用。到目前为止,这是我的脚本,但我得到了
kinit: Key table file '/etc/krb5.keytab' not found while getting initial credentials
我也在尝试使用管道
但这也不起作用。
kerberos - 指定 SPN 的正确格式是什么?
首先,使用 setspn 命令为用户注册服务主体名称。
setspn -a CS/dummy@abc.com dummyuser
setspn -l 虚拟用户
给出输出为
CS/dummy@abc.com
接下来,当使用 /mapUser 选项执行 ktpass 命令时,会修改用户帐户的服务主体名称,以便删除域组件。
ktpass /pass Password@123 -out dummy.1.keytab -princ CS/dummy@abc.com -crypto DES-CBC-MD5 +DumpSalt -ptype KRB5_NT_PRINCIPAL +desOnly /mapOp set /mapUser dummyuser
setspn -l 虚拟用户
给出输出为
CS/假人
以下两个命令是否正确并以相同的方式工作?
setspn -a CS/dummy dummyuser
setspn -a CS/dummy@abc.com dummyuser
在 SPN 中指定服务名称时,是否也必须包含域组件?你能澄清一下吗?