如何自动执行kinit进程以获得Kerberos的TGT?


10

我目前正在编写一个up模块,以自动化将RHEL服务器加入AD域的过程,并支持Kerberos。

目前,我无法通过自动获取并缓存Kerberos票证授予票证kinit。如果要手动完成此操作,则可以这样做:

kinit aduser@REALM.COM

这提示输入AD用户密码,因此自动执行此操作存在问题。

我该如何自动化?我发现一些帖子提到使用kadmin创建带有AD用户密码的数据库,但是我没有运气。

Answers:


18

愚蠢的我,您可以简单地使用以下命令:

echo "password" | kinit aduser@REALM

1
echo -n "$PASS" | kinit "$USER"不输出结尾的换行符
Dejan 2015年

14
或使用您的密码打印海报并将其挂出!以纯文本格式存储密码是不行的
Havnar 2015年

17

尽管您可以将密码硬编码到自动化系统中,但更正确的Kerberos方法是为主体创建密钥表,然后使用该密钥表进行身份验证。 kinit支持使用-k -t <keytab-path>选项从密钥表进行身份验证。

密钥表的主要优点是它将凭据隔离在单独的文件中,并且可以由各种Kerberos软件直接使用(因此,您不必添加代码即可从单独的文件中读取密码)。也可以使用标准命令(使用AD KDC,使用ktpass)来创建它。如果您拥有Linux KDC,还有更多优势,例如,轻松地将存储在密钥表中的密钥随机化,而不是使用较弱的密码。


1
Keytab肯定似乎是要走的路。如果您在kadmin中生成此-norandkey密码,请不要在不使现有密码无效的情况下使用ktadd中的标志。
丹尼斯·贾赫鲁丁

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.