Kerberos kinit没有提示输入密码

use*_*905 26 macos kerberos

我在看这个:http://docs.oracle.com/javase/7/docs/technotes/tools/windows/kinit.html

并注意到它说我可以使用"密码标志".我不知道怎么做这个?

我可以输入kinit的密码而不提示我吗?

例如,目前,

如果我输入:

kinit

我得到回应:

kinit

我必须输入密码.无论如何我可以输入类似kinit test @ REALM密码的东西,所以它不会提示我?

谢谢!

小智 55

你也可以

echo"密码"| kinit用户名

  • 黑客的方法. (8认同)
  • 这不适用于 OS X FWIW(需要安全密码输入 https://apple.stackexchange.com/q/79986/25085)...但您可以将密码存储在钥匙串中并与 kinit 一起使用,见 https://superuser.com/q/360262/39364 (3认同)
  • 在 bash 中,我更喜欢 `kinit username <<<'password'` ,它可以防止启用 `set -x` 时显示该值。 (3认同)
  • 在CentOS 7上,我必须在密码周围使用单引号`'而不是`“`,并确保将Active Directory域/ Kerberos领域大写以使其起作用。 (2认同)
  • 如果您的密码是从 shell 执行的,则只会将您的密码放入 shell 的历史文件中。它确实值得发出警告,但实际上,谁会在 shell 命令中添加所有这些额外的字符?OP 肯定会问,因为他们想要一种在脚本中完成此操作的方法。 (2认同)

Mic*_*l-O 14

使用该主体的keytab!


Kum*_*mar 6

使用“ktutil”创建密钥表

> ktutil   
ktutil:  addent -password -p username@domain.com -k 1 -e rc4-hmac   
Password for username@domain.com: [enter your password]  
ktutil:  addent -password -p username@domain.com -k 1 -e aes256-cts  
Password for username@domain.com: [enter your password]   
ktutil:  wkt username.keytab   
ktutil:  quit


    # Below steps will will create a keytab for the user, move it into a secure directory, 
and automatically get a ticket when the user logs in with a bash shell

mkdir /home/username/keytabs 
chmod 700 /home/username/keytabs 
mv username.keytab /home/username/keytabs 
chmod 600 /home/username/keytabs/username.keytab 
echo "kinit -kt /home/username/keytabs/username.keytab username@domain.com" >> /home/username/.bash_profile
Run Code Online (Sandbox Code Playgroud)

传递密钥表和登录的命令

kinit username@domain.com -k -t /path/to/username.keytab

参考链接hortonworks kb.iu.edu


rog*_*ack 5

有2种流行的Kerberos客户端软件包:MIT和Heimdal。Heimdal是MacOS附带的,但MIT是参考实现。在Heimdal客户上,您可以使用以下--password-file标志:

$ kinit --password-file=~/mypasswordfile test@REALM
Run Code Online (Sandbox Code Playgroud)

这样可以避免将密码泄漏到进程列表中,因为它“从文件名的第一行读取密码”。

您也可以做

--password-file=STDIN
Run Code Online (Sandbox Code Playgroud)

并将其插入ex cat password_file | kinit --password-file=STDIN test@REALM

注意:这样可以避免通过ps输出泄漏密码。

在MacOS上,您也可以使用钥匙串选项。您可以使用来检查拥有的客户类型kinit --version。如果该--version标志无法识别,则您很可能拥有MIT客户;Heimdal的客户似乎也认识到该标志并报告了版本。

请注意,Ubuntu在14.04和16.04之间将默认设置从Heimdal实现切换为MIT。同样,通常来说,这两个程序包彼此冲突