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

我目前正在编写一个puppet模块来自动化将RHEL服务器连接到AD域的过程,并支持Kerberos。

目前,我有通过kinit自动获取和cachingKerberos票证授予票证的问题。 如果这是手动完成,我会这样做:

 kinit [email protected] 

这会提示inputAD用户密码,因此在自动执行此操作时出现问题。

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

虽然您可以将密码硬编码到自动化中,但更正确的Kerberos方法是为主体创build一个密钥表,然后使用它进行身份validation。 kinit支持使用-k -t <keytab-path>选项从密钥表进行身份validation。

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

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

 echo "password" | kinit aduser@REALM 

根据您可能使用的手册页:

 kinit --password-file="~/my.secret" [email protected] 

所以你可以通过文件提供你的密码。