如何在 Ubuntu 上每 5 天请求一次(不续订)Kerberos 票证

如何在 Ubuntu 上每 5 天请求一次(不续订)Kerberos 票证

我已经设置了一台 ubuntu 16.04 机器,并使用本指南将其集成到 Windows 活动目录域环境中:https://www.unixmen.com/how-to-join-an-ubuntu-desktop-into-an-active-directory-domain/

我对多项服务 (cifs、http 等) 使用 kerberos 身份验证

登录正常,$ klist登录后我看到一张有效票,有效期为 10 小时,可续订 7 天。服务主体是 krbtgt/[电子邮件保护]

机器需要 24/7 在线,我需要在票证失效之前申请一张新票。我使用登录时krenew运行的守护进程来更新我的票证$ krenew -i -K 10。这也很好用!

但这仅在更新期限到期之前有效。

我可以手动请求票证,$ kinit但我必须输入用户密码。

我的问题是我如何才能每 5 天自动发送一次票证请求?

我已经阅读了 $kinit-v它应该使用当前凭证缓存来验证票证请求,但是它不起作用:

kinit: KDC can't fulfill requested option while validating credentials

我还读到,在这种情况下我需要创建一个密钥表。这是真的吗?如果是 - 如何创建它?

有人可以帮忙吗?

答案1

使用 keytab 来获取 TGT?不过你需要格外小心。如果泄露,其效果与泄露密码相同。ktutil 是你的好朋友,更准确地说是它的“addent”和“wkt”子命令。

user@host ~ $ ktutil 
ktutil:  addent -password  -p PRINCIPAL@REALM -e  arcfour-hmac -k 1
Password for PRINCIPAL@REALM: 
ktutil:  wkt test.keytab
ktutil: q
user@host ~ $ ls -l test.keytab 
-rw------- 1 user user 59 Feb 15 00:05 test.keytab

将该 keytab 传递给 kinit 以获取 tgt。

slurm 的 auks 插件有一个脚本可以做类似的事情(https://github.com/hautreux/auks/blob/master/src/auksd/aukspriv

相关内容