我在 windows server 2012 r2 上设置了带有 kerberos 身份验证的 Active Directory,在第二台机器上设置了 mongodb 服务器。使用 GSSAPI 身份验证启动 mongodb,现在如果我尝试使用 follwong url 连接到 mongodb
mongo.exe --host Mongo32Test.ihubtest.com.com --authenticationMechanism=GSSAPI --authenticationDatabase=$external -u mongoService@ihubtest.com --verbose
我收到以下消息。
错误:SASL(-1):一般故障:SSPI:InitializeSecurityContext:指定的目标未知或无法访问
我已经安装了wireshark,并且数据包包含此消息
“KRB5 167 KRB 错误:KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN”
环顾四周,我发现它与服务原理名称有关
mongoService@ihubtest.com 是域用户,并且是 mongodb 中 $external 数据库的一部分。
验证了服务原则名称,看起来不错。
C:>setspn -l mongoService 注册的ServicePrincipalNames for CN=mongo Service,CN=Users,DC=ihubtest,DC=com:
mongodb/Mongo32test.ihubtest.com@IHUBTEST.COM
尝试了本页中提到的故障排除步骤,https://docs.mongodb.com/manual/tutorial/troubleshoot-kerberos/,我是否遗漏了 Active Directory 配置中的某些内容?