问题标签 [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.
kerberos - Kerberos 密钥表适用于不同的主机
我遇到了一个问题。为 test01/host01@xxxx.com 生成一个密钥表。我认为它只适用于host01。但它适用于其他主机。host01 没有意义。如何仅在 host01 上使用 keytab。非常感谢!
linux - Windows AD 及其密钥选项卡文件
我只有一个简单的问题。我有 Windows 活动目录。我已经使用命令从它创建了密钥选项卡文件:
现在根据我的理解,该文件由用户名及其加密格式的密码组成。当我将尝试使用此密钥表文件进行身份验证时,请求仅由该文件提供服务,或者这将进一步与 Windows AD 通信以进行身份验证。
我问的原因是因为我正在超时,并且我正在朝那个方向思考它是否与 AD 连接也是因为 AD 完全在不同的 VPC 中。
active-directory - Keytab 文件认证检查
我有一个查询,我已经创建了一个用户并从中生成了 keytab 文件,但我想在共享此文件之前使用凭据对其进行测试,有什么方法可以实现这一点,我知道用户名密码和所有相关信息。
docker - 我可以使用预生成的 keytab 文件分发 docker 映像吗?
我的应用程序正在使用 Kerberos 身份验证。我的应用程序是通过 docker images 交付的。Docker 镜像可以在任何主机上运行。Kerberos 用于身份验证的 Keytab 文件包含主体的主机名和加密密码。
是否可以为 docker 镜像生成 keytab 文件,该文件适用于放置任何主机镜像?
换句话说,当 Kerberos 执行主机身份验证时 - 它正在检查 docker 映像的主机名或 docker 主机的主机名,还是根本不检查?为 docker 映像创建 keytab 是否还有其他问题?
authentication - ktpass命令是否禁用密码认证
我只是对 ktpass 命令有一点疑问。我有一个my-test-user
有密码的用户myPassword!
。我可以通过用户名和密码使用此帐户登录。但是当我使用以下命令生成keytab文件时,我只是可以使用keytab文件(例如kinit)登录。
如果我尝试使用用户名/密码进行连接,badPwdCount 属性会增加。
我的问题是:ktpass 命令是否禁用密码验证?
非常感谢。
java - Java中的Kerberos kinit缓存与keytab访问安全的HBase
我正在编写一个java程序来访问kerberized集群上的安全HBase。我的理解是我可以通过两种方式做到这一点:
使用主体名称和密码登录以在缓存中创建 TGT 并使用它来访问 hbase。
使用 keytab 文件访问 hbase。
在决定我应该采用哪种方法之前,我想了解这两种选择的优缺点。我做了谷歌,发现这篇文章解释了这两个选项是如何工作的。这篇文章还指出,keytab 中的 TGT 可以通过调用来更新,checkTGTAndReloginFromKeytab
但它没有谈到更新 kinit 缓存的 TGT 的更新过程,但我认为可以使用renewTGT
jaas config 中的属性来完成(如果我错了,请纠正我)。这篇文章的另一点是 kinit 缓存仅适用于短期运行的应用程序,因为我们无法更新超过 7 天的 TGT。
我倾向于缓存方法,因为我可以将用户名和密码安全地保存在 keyvault 中,而不必担心保护 keytab。但是这种方法的限制如前所述,TGT 的最大长度(7 天),我不能将它用于长时间运行的作业,至少这是我理解的(纠正我)。
如果您可以解释两者之间的区别,或者将我指向一篇详细解释这两种方法的好文章,那将非常有帮助。
我已经编写了下面的程序来使用用户名和密码获取 TGT。
如下使用它
JAAS 配置文件:
上面提到的文章还谈到了使用我不理解的 keytab 的代表,所以请帮助我了解这是否是为长期运行的作业创建连接的权利?
java - Jsch 与 Kerberos 的连接
我有一个简单的 Java 应用程序,它使用 Jsch 在远程运行 ssh 命令。该实现适用于用户名和密码。
现在,我已经设置了一个 Kerberos 服务器并希望使用它进行身份验证。从客户端系统(Linux),我可以使用 Kerberos 身份验证通过 ssh 远程访问并运行命令,并且工作正常。
我尝试过的事情:
使用以下命令初始化 kerberos 用户:kinit -kt <keytab_file_path> <kUser>
运行 ssh 命令:ssh <kUser>@<remote_host> uname -a
上面的命令可以完美运行,而无需要求我使用密码进行身份验证。
配置细节:
- KDC 服务器在:Linux 7.6
- 客户端和服务器上:Linux 7.6
- Kerberos 用户:kuser
- kuser 也存在于客户端和服务器系统上,但没有主目录
- Jsch 版本:0.1.50
- Java 版本:Amazon Corretto 11.0.7
代码片段:
下面是我的 JASS 配置文件:
krb5.conf 如下:
运行上述独立 java 程序后,我得到以下异常:
谢谢
hadoop - 在 Windows Server 上实现 Keytab 文件
我目前正在运行 Windows Server 2012。我们通过 ODBC 连接器将 SQL Server 连接到 Hadoop。
与 Hadoop 的连接使用 Windows 身份验证,通过 MIT Kerberos 票证生成器程序。票证只能持续 24 小时,因此每 24 小时手动更新 kerberos 票证对我来说是不可持续的。
我想绕过这个,并使用一个 Keytab 文件过程 - 我已经通过 KTPass 成功创建了一个 Keytab 文件:
现在我已经创建了文件,从这里我到底要做什么,这样我就不必经常查看 kerberos 票证?
python - 如何在 python 中使用 keytab 连接 kafka 消费者主题
我是 Kafka 的新手,并尝试使用 python 从 kafka 消费者主题中读取消息。我正在使用下面的代码来阅读消息。
当我运行它时,收到错误消息“找不到 KfW 安装”并且无法连接 Kafka。为 Windows MSI 安装了 Kerberos 并重新运行,它能够建立连接。
但是,我试图避免在本地系统中安装 KfW,而是找到一种方法来传递密钥表文件和主体以在身份验证过程中使用并从 kafka 主题中读取数据。(如果它是可能的?)
但不确定,KafkaConsumer 的哪个参数包含 keytab 文件。
请建议任何更好的方法可用?
python - 使用 python 将 Hive 与 keytab 连接
我正在寻找使用 python 将 Hive 与 keytab 连接的选项。尝试使用 Jaydebeapi 选项建立连接,但尚未成功
当我运行此代码时,我收到如下错误
return jpype.java.sql.DriverManager.getConnection(url, *dargs) RuntimeError: No matching overloads found for getConnection in find. at native\common\jp_method.cpp:127
尝试了 pyHive 选项,但 sasl 安装在 Windows 中失败并且无法继续。而且我不确定是否有可能在 pyHive 中使用 keytab 文件。
如果您有,请提出任何更好的解决方案。
提前致谢..