使用 keytab 从 cron 作业访问基于 Kerberos 的资源

使用 keytab 从 cron 作业访问基于 Kerberos 的资源

我在 Ubuntu 22.04 上,它通过 sssd 加入了 Active Directory 2016。我可以通过 kerberos 访问多个网络资源:文件共享、oracle 和 postgres 数据库。一切都很好。但我还希望能够从 cron 作业访问这些资源。

我希望能够使用 keytab 和 k5start 来实现这一点。但我无法让 keytab 工作。

我使用以下方法检测相关的 kvno

kinit -c filex
kvno -c filex  krbtgt/[email protected]

是 3。然后我使用 ktutil 创建我的密钥表(添加输入密码的提示)。

ktutil
addent -password -p [email protected] -k 3 -e aes256-cts
wkt ./yyy.keytab
quit

使用以下方法测试 keytab

kinit -c filex -k -t keytab [email protected]

结果是

kinit: Preauthentication failed while getting initial credentials

谷歌告诉我这意味着密码不正确,但事实并非如此。

我做错什么了吗?

答案1

我自己的问题的答案是,在指定用户名(principalname)时,必须非常小心大小写。用户名的大小写必须与 Active Directory 中的 sAMAccountName 的大小写相匹配。在我的示例中,我指定了[电子邮件保护]而事实上应该如此[电子邮件保护]。在创建 keytab 时和使用它时都是如此。

相关内容