Kerberos 身份验证疑难解答

在本页面

Kerberos 配置调试策略

如果您在使用Kerberos来针对mongodmongos进行身份验证时遇到困难:

要验证 MongoDB Enterprise 二进制文件,请将--version命令行选项传递给mongodmongos

mongod --version

在此命令的输出中,查找字符串modules: subscriptionmodules: enterprise以确认您的系统具有 MongoDB Enterprise。

在 Linux 上,您可以在系统提示符下使用hostname -f命令来验证系统主机名的解析。

如果hostname -f返回的mongodmongos实例的主机名不是完全限定的,请在启动mongodmongos时使用--setParameter saslHostName设置实例的完全限定的域名。

Linux 上的 Kerberos 跟踪日志记录

MIT Kerberos 为跟踪记录输出提供了KRB5_TRACE环境变量。如果 Linux 上的 MIT Kerberos 一直存在问题,则可以在启动mongodmongosmongo实例时将KRB5_TRACE设置为产生详细日志记录。

例如,以下命令启动一个独立的mongod,其密钥表文件位于默认的/etc/krb5.keytab路径,并将KRB5_TRACE设置为写入/logs/mongodb-kerberos.log

env KRB5_KTNAME=/etc/krb5.keytab \
    KRB5_TRACE=/logs/mongodb-kerberos.log \
    mongod --dbpath /data/db --logpath /data/db/mongodb.log \
    --auth --setParameter authenticationMechanisms=GSSAPI \
    --bind_ip localhost,<ip address> --fork

常见错误消息

在某些情况下,如果 Kerberos 服务存在问题,MongoDB 将从 GSSAPI 接口返回错误消息。一些常见的错误消息是:

如果收到此错误,请确保在连接到主机时使用正确的凭据和正确的完全限定域名。

首页