我们已经配置了RHEL7 Mongo服务器,用于Mongo连接的kerberos身份验证。 Mongo实例成功启动,这告诉我们服务器主体密钥表已在AD中正确定义,并且KRB5_KTNAME值正确。对于要验证的ID,kinit成功完成,告诉我们用户keytab有效。但是,当尝试验证“找不到Kerberos服务器”时,将返回。查看kerberos跟踪,它报告的是“ localhost”而不是fqdn。Mongo支持人员检查了DNS定义,它们是正确的,因此请转给Redhat支持。跟踪中的相关消息是:使用ccache FILE:filename获取凭据userid @ DOMAIN-> mongodb / localhost @(更改值以保护我)Dpes有人知道为什么在此消息中使用localhost而不是fqdn吗?同样,DNS条目看起来是正确的。发出“找不到服务器”消息,因为当然没有为AD定义localhost。感谢帮助。
问题已解决。在与Mongo服务器相同的主机上执行Shell时,必须包括--hostname参数,并且不要使其默认。将请求发送到KDC时,Kerberos使用主机名值。