認証付きのレプリカセットをセットアップします。 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に役立つものは見つかりませんでした。
この例で実行されるシェル内認証は、adminデータベースに対するものです。上記のコマンドラインはデータベースを指定していないため、testであるデフォルトデータベースに対して認証しています。代わりに、コマンドライン経由でadmin dbに対して認証するには、これを試してください。
mongo admin -u 'USERNAME' -p 'PASSWORD'
サーバーがローカルホスト上にない場合は、これを使用できます。
mongo your_Host_name:your_port/admin -u 'USERNAME' -p 'PASSWORD'
この質問は最初に回答されたので、更新のためにおそらく異なるかもしれませんが、認証はユーザー名/パスワードを二重引用符で囲む場合にのみ成功します。例えば。、
mongo admin -u "myName" -p "myPassword"