MongoDB 2.6.1 कमांड लाइन प्रमाणीकरण विफल रहता है




authentication database-replication (2)

मैं प्रमाणीकरण के साथ प्रतिकृति सेट सेट अप। मैंने this ट्यूटोरियल का इस्तेमाल किया। मैंने keyfile, व्यवस्थापक उपयोगकर्ता और अन्य उपयोगकर्ताओं को स्थापित किया है। यह सब ठीक काम करता है - अज्ञात पहुंच अक्षम है और मैं लॉगिन कर सकता हूं

$ 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 पर कुछ भी उपयोगी नहीं मिला है।


आपके उदाहरण में किए गए इन-शैल प्रमाणीकरण व्यवस्थापक डेटाबेस के खिलाफ है। उपरोक्त पोस्ट की गई कमांड लाइन डेटाबेस निर्दिष्ट नहीं करती है और इसलिए परीक्षण वाले डिफ़ॉल्ट डेटाबेस के विरुद्ध प्रमाणीकरण कर रही है। व्यवस्थापक डीबी के खिलाफ कमांड लाइन के माध्यम से प्रमाणित करने के बजाय इसे आज़माएं:

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

यदि सर्वर स्थानीय होस्ट पर नहीं है तो आप इसका उपयोग कर सकते हैं:

mongo your_host_name:your_port/admin -u 'USERNAME' -p 'PASSWORD'

शायद इस अद्यतन के कारण अद्यतन के कारण शायद अलग हो गया था, लेकिन प्रमाणीकरण केवल डबल कोट्स में उपयोगकर्ता नाम / पासवर्ड लपेटने के दौरान सफल होता है। जैसे,

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




database-replication