web-dev-qa-db-ja.com

MongoDB 2.6.1コマンドライン認証が失敗する

認証付きのレプリカセットをセットアップします。 this チュートリアルを使用しました。キーファイル、管理ユーザー、その他のユーザーを設定します。すべて正常に動作します-匿名アクセスが無効になり、ログインできます

$ mongo
MongoDB Shell version: 2.6.1
connecting to: test
Error while trying to show server startup warnings: not authorized on admin to execute     command { getLog: "startupWarnings" }
rs0:PRIMARY> use admin
switched to db admin
rs0:PRIMARY> db.auth("USERNAME","PASSWORD")
1
rs0:PRIMARY> 

作成したユーザーの資格情報を使用します。

しかし、コマンドラインからログインできません

$ mongo -u 'USERNAME' -p 'PASSWORD'
MongoDB Shell version: 2.6.1
connecting to: test
2014-05-18T14:23:47.324+0200 Error: 18 { ok: 0.0, errmsg: "auth failed", code: 18 } at   src/mongo/Shell/db.js:1210
exception: login failed

同じ資格情報を使用します。ドキュメントやSOに役立つものは見つかりませんでした。

22
Michal Artazov

この例で実行されるシェル内認証は、adminデータベースに対するものです。上記のコマンドラインはデータベースを指定していないため、testであるデフォルトデータベースに対して認証しています。代わりに、コマンドライン経由でadmin dbに対して認証するには、これを試してください。

mongo admin -u 'USERNAME' -p 'PASSWORD'

サーバーがローカルホスト上にない場合は、これを使用できます。

mongo your_Host_name:your_port/admin -u 'USERNAME' -p 'PASSWORD'
54
James Wahlin

この質問は最初に回答されたので、更新のためにおそらく異なるかもしれませんが、認証はユーザー名/パスワードを二重引用符で囲む場合にのみ成功します。例えば。、

mongo admin -u "myName" -p "myPassword"
0
SauerTrout