如何解决为什么Kerberos需要计算机时钟同步?
故意将客户端节点时钟设置为kdc提前10小时
然后从客户端节点运行 kinit 和 klist
kinit没有抱怨,klist可以看到票证缓存
~date -s 19:20:38
~kinit -kt /etc/kuduclient.keytab kuduclient@INFO2.COM
~klist
Ticket cache: KEYRING:persistent:0:0
Default principal: kuduclient@INFO2.COM
Valid starting Expires Service principal
11/11/2020 09:49:23 11/12/2020 09:11:00 krbtgt/INFO2.COM@INFO2.COM
renew until 11/18/2020 09:11:00
解决方法
Kerberos中的时间是相对的。首先,它应该基于UTC时区。如果10小时的差异只是时区相关的,那么Kerberos堆栈将很乐意转换为UTC,一切都很好。
第二,许多(大多数?)Kerberos堆栈不关心确切的时间,它们关心的是相对于KDC认为是确切的时间。我的意思是,客户端可以向KDC发出请求,并且如果时间过长,KDC将返回错误,包括 it 认为当前时间。客户端可以自由地重新发送请求,但时间会增加到KDC的窗口之内。这仍然保证了安全性的正确性,因为从权威机构KDC的角度来看,时间限制仍然可以满足。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。