我有一个 CentOS 6.4,是别人不久前设置的。
管理员不确定他是如何安装它的,但它与 Kerberos 配合得很好。我使用 authconfig 设置域和 Kerberos 设置。
我ktpass
在 Windows 域控制器上使用它并传输了 keytab。
kinit -k
运行正常,我可以将它用于 nfsv4 Kerberos 挂载。
这一切都非常标准。
我的问题是,我的一个客户安装了 6.7 和基础安装,我们无法正常kinit
工作。
我们设置了这些 RPM。
$ yum install krb5-libs krb5-workstation pam_krb5 \
cyrus-sasl-gssapi samba-* nfs-utils nfs4-acl-tools tcpdump -y
每次尝试让系统拾取目标都会返回通用目标。
$ kinit -k nfs/oldlabsystem
kinit: Preauthentication failed while getting initial credentials
我回去用同样的方式安装了 6.4,现在 6.4 有问题。我从我的 6.4 中拉出了一份 rpm 列表,并使用 yum 安装相同的 RPM。
这可不走运。
网络跟踪显示如下:
AS-REQ
AS-REP error-code: eRR-PREAUTH-REQUIRED (25)
AS-REQ
error-code: eRR-PREAUTH-FAILED (24)
我返回并为我的工作系统创建了新密钥,以确保生成密钥的方法正确。我的 6.4 工作系统没有问题。
在无法正常工作的 6.4 系统上,我可以执行 akinit username
并提供用户密码,没有任何问题。但是kinit -k
如果我执行 akinit
并提供使用 kpass 设置的密码,则无法执行 a,最终结果为
kinit: Preauthentication failed while getting initial credentials
沮丧之下,我回去创建了一个用户帐户,然后从中生成了一个密钥表。这也失败了,并出现了同样的错误。然后在 AD 中的用户帐户上,我关闭了预身份验证,然后 kinit 返回了此错误。
[root@ ~]# kinit -k nfs/nfstestsystem.rockies.beta
kinit: Password incorrect while getting initial credentials
我怀疑密钥表以某种方式损坏或操作系统错误地使用了密钥。
我的问题是这些错误太过普遍,几乎不可能在留言板上找到任何有价值的东西:lab-admin-krb5。
我尝试在 CentOS 论坛上发布这些问题,但是没有什么进展。
两者strace
基本上kinit
显示了对相同库的相同调用。
答案1
使用 klist 列出密钥表并将其粘贴在此处
向我们展示 get_principal 输出 - 您是否设置了预身份验证?
向我们展示 kdc 日志
这将澄清您的问题。