mongodb远程身份验证失败Mongod v4

mongodb远程身份验证失败Mongod v4,mongodb,mongoose,mongodb-query,mongoid,Mongodb,Mongoose,Mongodb Query,Mongoid,我最近在一台windows 2016服务器上安装了mongodb,配置如下,运行mongod as mongod--config C:\mongo\u db\config\mongo\u db\u configuration.conf--auth 我们已经在管理数据库中创建了根用户 MongoDB Enterprise > db.runCommand({connectionStatus:1}) { "authInfo" : { "authen

我最近在一台windows 2016服务器上安装了mongodb,配置如下,运行mongod as

mongod--config C:\mongo\u db\config\mongo\u db\u configuration.conf--auth

我们已经在管理数据库中创建了根用户

MongoDB Enterprise > db.runCommand({connectionStatus:1})
{
        "authInfo" : {
                "authenticatedUsers" : [
                        {
                                "user" : "root",
                                "db" : "admin"
                        }
                ],
                "authenticatedUserRoles" : [
                        {
                                "role" : "dbAdminAnyDatabase",
                                "db" : "admin"
                        },
                        {
                                "role" : "root",
                                "db" : "admin"
                        }
                ]
        },
        "ok" : 1
}
我能够在本地连接到mongod实例(
mongo—端口27017—u“root”-p“12345”-authenticationDatabase admin
),但在远程连接时出错。服务器防火墙已禁用

"C:\Mongodb>mongo.exe 192.168.0.171:27017/admin -u root -p 12345
MongoDB shell version v4.0.4
connecting to: mongodb://192.168.0.171:27017/admin
Implicit session: session { "id" : UUID("c68e9dd5-6f7b-4356-bc3e-688a7e2b3e1d") }
MongoDB server version: 4.0.4
2018-11-26T23:50:47.534+0800 E QUERY    [js] Error: Authentication failed. :
DB.prototype._authOrThrow@src/mongo/shell/db.js:1685:20
@(auth):6:1
@(auth):1:2
exception: login failed"    

我的虚拟机也有类似的问题。我有2台linux和1台windows机器(它们远程连接到我的windows机器)。假设Linuxa拥有具有凭据的mongo。当我尝试从我的windows计算机登录时,我遇到了与您提到的相同的错误

但是,当我将mongo从linux B连接到linux A时,我可以使用以下方法从shell成功连接:

mongo --host 192.168.1.6 --port 27017 -u username -p 'pwd'

我也在windows中使用了完全相同的命令,但不知为什么它无法登录。也许这个命令可以在您的环境中工作,但也在等待适当的解决方案。

我遇到同样的问题时偶然发现了这个命令。我从MongoDB外壳版本v3.6.9连接到MongoDB服务器版本4.2.6。如果其他人像我一样发现了这个问题,下面是有效的语法:

mongo --host mongodb://username:password@IP:PORT/ --authenticationDatabase admin
mongo --host mongodb://username:password@IP:PORT/ --authenticationDatabase admin