我们正在使用 Mongo 3.0.3 。由于我们的客户端.Net驱动程序不支持SCRAM-SHA-1类型身份验证,因此必须将安全性降级为MONGODB-CR。 复制集成功连接到客户端并进行通信。
以下是证明:
db.system.version.find()
{“_ id”:“authSchema”,“currentVersion”:3}
{“_ id”:“admin.admin_mongo”,“user”:“admin_mongo”,“db”:“admin”, “凭证”:{“MONGODB-CR”:“0c23321a8e8ffc2377a61eb54fccf4a5”}, “roles”:[{“role”:“userAdminAnyDatabase”,“db”:“admin”},{ “角色”:“root”,“db”:“admin”}]}
最近我们在 Mongod.conf 文件中实现了Auth-Enabled功能,从那时起重启Replica set后,看到以下错误。
ACCESS [conn253] __system on的SCRAM-SHA-1认证失败 来自客户XXXXXXX的本地; AuthenticationFailed SCRAM-SHA-1 身份验证失败,storedKey不匹配
使用OpenSSL方法生成密钥文件。它在运行mongod的用户可以访问的地方以600权限存储。
我一直在寻找这个问题的解决方案,但没有一个与我的情况有关。 令我感到紧张的是 - 在Mongodb文档中它说“Keyfiles使用SCRAM-SHA-1挑战和响应认证机制。”
所以,如果Keyfiles使用SCRAM-SHA-1挑战和响应,那么在这种情况下它是如何工作的,因为我已经将认证机制降级为MONGODB-CR,因为客户端驱动程序?
这个问题的解决方案是什么。请帮忙。
谢谢。