![对一个客户端上的 Kerberos 身份验证上的 GSS-API 错误进行故障排除](https://linux22.com/image/70033/%E5%AF%B9%E4%B8%80%E4%B8%AA%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%B8%8A%E7%9A%84%20Kerberos%20%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E4%B8%8A%E7%9A%84%20GSS-API%20%E9%94%99%E8%AF%AF%E8%BF%9B%E8%A1%8C%E6%95%85%E9%9A%9C%E6%8E%92%E9%99%A4.png)
当使用多个客户端中的一个客户端向 kadmin 进行身份验证时,它失败并显示
kadmin: GSS-API (or Kerberos) error while initializing kadmin interface.
Kerberos 主机通过其子网地址指定。
我已经看到此错误归因于 NTPD 同步错误,但我无法辨别该特定客户端上的 ntp(d) 设置有任何不同。我应该检查什么?关于 NTP?克伯罗斯? GSS?比较工作客户端和非工作客户端的 Kerberos / LDAP 文件的快速方法是什么? (当然,有一个所有受影响/影响 LDAP/Kerberos 身份验证的文件的列表?)
答案1
注意:kinit 有效,kadmin -p admin 由于 NTP/时间问题而无效。
我不可能是唯一一个被防火墙阻止端口 123 困住的人 --- 这会导致此类错误。 (Kerberos 身份验证需要时间同步)。
解决方案:
- 将 Kerberos 服务器(或 LAN 上的其他服务器)配置为 NTP 服务器。
- 配置该服务器以根据其自己的时钟进行更新
- 让失败的客户端将其时间同步到本地主机
要重新配置本地时间服务器: 1. 添加自己的时钟作为时间源并允许来自网络的连接(甚至广播):
system ntp stop
微微 /etc/ntp.conf
添加:
server 0.us.pool.ntp.org iburst
server 1.us.pool.ntp.org iburst
server 2.us.pool.ntp.org iburst
server 3.us.pool.ntp.org iburst
server 127.127.1.0
server 127.127.1.0 stratum 10
子网:
restrict 10.0.0.0 mask 255.255.255.0
播送:
broadcast 10.0.0.255
作为 root,然后:
system ntp start
在客户端:
ntpdate -bs 10.0.0.1 #whatever the local ntp host is