linux – SSH Kerberos身份验证失败,在debian squeeze中出现“请
我有一个debian squeeze主机,我无法在没有密码提示的情况下使用kerberos登录.一个配置相同的ubuntu 12.04主机工作正常,无需获取密码提示即可登录.
在kinit之后,klist给出: Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: boti@REALM Valid starting Expires Service principal 14/02/2013 16:37 15/02/2013 16:37 krbtgt/REALM@REALM 现在,当我尝试通过ssh登录到debian-squeeze时,我会看到密码提示. Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: boti@REALM Valid starting Expires Service principal 14/02/2013 16:37 15/02/2013 16:37 krbtgt/REALM@REALM 14/02/2013 16:38 15/02/2013 16:37 host/debian-squeeze@ 14/02/2013 16:38 15/02/2013 16:37 host/debian-squeeze@REALM 很明显我获得了一张票.然而,ssh调试日志给出: Postponed gssapi-with-mic for boti from 192.168.255.98 port 59557 ssh2 debug3: mm_request_send entering: type 40 debug3: mm_request_receive_expect entering: type 41 debug3: mm_request_receive entering debug3: monitor_read: checking request 40 debug1: Unspecified GSS failure. Minor code may provide more information Wrong principal in request 这与here,here和this bugreport中描述的非常相似. 我的DNS很好.已经尝试重新创建主体/键.因此,没有任何解决方案帮助发布在那里. 任何提示? 解决方法
在示例输出中,我看到你有一个debian-squeeze的键 – 一个没有任何点的主机名.这有助于证明您设置反向分辨率以指向短名称.这真的是您看到的非FQDN名称,还是针对该问题进行了编辑?
Kerberos应该与之合作,但你可以仔细检查主机本身是否认为它被称为debian-squeeze.检查前进 – > debian-squeeze中的反向查找真的解决了debian-squeeze: $getent hosts $(hostname) | awk '{print $1; exit}' | xargs getent hosts | awk '{print $2}' 我还没有真正听说过使用短名称部署Kerberos,所以如果你有选择,坚持使用FQDN可能是个好主意. 更新: 客户端当前正在获取短名称的密钥,但服务器认为它使用长名称正确命名.最有可能的问题是那里.只是为了确定,请尝试以下方法: >检查客户端的正向/反向名称查找.即 $getent hosts debian-squeeze | awk '{print $1; exit}' | xargs getent hosts | awk '{print $2}' 返回的名称是客户端将尝试获取票证的名称.根据你的输出来判断,这可能是简称. $sudo klist -k /etc/krb5.keytab Keytab name: WRFILE:/etc/krb5.keytab KVNO Principal ---- -------------------------------------------------------------------------- 1 host/debian-squeeze.realm@REALM 1 host/debian-squeeze.realm@REALM 1 host/debian-squeeze.realm@REALM 1 host/debian-squeeze.realm@REALM ... 在列表中,您应该看到与上一个命令中的主机名匹配的主体.如果它不在那里,那那就是你的问题.如果它在那里…… $kvno host/debian-squeeze.realm host/debian-squeeze.realm@REALM: kvno = 1 无论如何,所有这些命令中的主机名和“kvno”版本应该匹配. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |