在我的Kerberos系统中:
kinit test和输入passwd,成功.kadmin.local -q "xst -k test.keytab test".运行kinit test和输入passwd,失败:
kinit: Password incorrect while getting initial credentials
Run Code Online (Sandbox Code Playgroud)跑kinit -k -t test.keytab test,成功.
这是正常的吗?如果没有,可能的原因是什么?
谢谢.
我发现krbLastPwdChange(a timestamp value)运行后kerberos数据库中的属性发生了变化:
kadmin.local -q "xst -k test.keytab test"
Run Code Online (Sandbox Code Playgroud)
添加选项-norandkey只会创建keytab而不更改密码:
kadmin.local -q "xst -norandkey -k test.keytab test"
Run Code Online (Sandbox Code Playgroud)
我找不到关于的详细文件kadmin xst.
这是设计使然。在 Kerberos 中不能同时拥有密码和密钥表。原因是如果两者都启用,如果有人能够代表您提取密钥表或拥有您的密钥表副本,那么他们可以伪装成您,而您永远不会知道。他们将能够通过 kinit 生成 TGT。
通过提取密钥表,密码将失效,因此如果您随后尝试使用密码登录,则会出现错误。即使您不知道到底发生了什么,如果您重置密码,它也会使密钥表无效。
原因很简单:
kinit告诉你在数据库中还没有找到该客户端,对吗?默认情况下,当kinit使用密钥表调用时,它使用默认服务器主体来获取 TGT。在您的情况下host/<hostname>@REALM,但您的密钥表包含principal 的密钥test@REALM。
我也遇到过这个问题,直到我询问了 MIT Kereros 邮件列表。
| 归档时间: |
|
| 查看次数: |
13165 次 |
| 最近记录: |