整合kerberos和Keychain


18

可以kinit要求钥匙串提供密码而不是我吗?

Answers:


18

kinit在Mac OS X上(自10.9起,可能更早),它内置支持通过--keychain参数将密码保存到钥匙串中,从而完成了与保罗的回答相同的任务。

验证使用kinit --keychain; 验证成功后,密码将被保存:

kinit --keychain
# or
kinit --keychain bob@MY.REAL.COM

随后的kinit调用(不需要--keychain参数)将自动从钥匙串中获取保存的密码,而不提示您输入密码。


哇,甚至在kinit手册页上都没有提到的选项,效果很好。真好
rogerdpack '18

14

实际上是可能的。假设您在域“ MY.REAL.COM”上具有密码为“ mypasswd”的帐户“ bob”。然后在终端类型中一行

security add-generic-password -a "bob" -l "MY.REAL.COM (bob)" -s "MY.REALM.COM" -w "mypasswd" -c "aapl" -T "/usr/bin/kinit"

这将在默认钥匙串中使用Kerberos凭据创建一个名为“ MY.REALM.COM(bob)”的项目,并对其进行kinit授权以对其进行访问。您可以根据需要添加任意数量的-T "/fulpath/program"开关,每个开关都可以访问特定程序以使用您的kerberos凭据。例如,-T "/Applications/Mail.app/Contents/MacOS/Mail"将添加对Mail.app的访问。

的更多详细信息man security

之后,kinit bob@MY.REAL.COM不会提示您输入密码,但会从钥匙串中获取密码。


1
那是翻盖拉德!
贾森主义

1
我无法完成这项工作,但这确实与Miles的答案
-Brice

-1

仅使用kinit,这是不可能的。

您必须编写或让其他人编写一个单独的接口,该接口使用Keychain Services API来存储和访问您的密码。


我只是不明白为什么集成了Keychain,因此它可以记住ssh密钥的密码短语,但是却不记得kerberos的密码。
tig

这是因为没有人愿意对其进行编程。
surfasb
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.