2013-03-07 10 views
19

osx에서 mongo 2.2.2를 실행 중입니다.mongo의 명령 줄 인증이 실패합니다.

나는 다음과 같은 인증 잘하려고 할 때 :

$ mongo 
>> use admin 
>> db.auth("uname", "password") 

로그 : 그러나

Thu Mar 7 13:51:08 [initandlisten] connection accepted from 127.0.0.1:63474 #10 (4 connections now open) 
Thu Mar 7 13:51:08 [conn10] authenticate db: admin { authenticate: 1, nonce: "123", user: "uname", key: "456" } 

내가 명령 줄에서 직접 인증을 시도 : 내가 얻을

$ mongo admin -u uname -p password 

다음 오류 :

Thu Mar 7 14:25:52 [initandlisten] connection accepted from 127.0.0.1:63939 #12 (5 connections now open) 
Thu Mar 7 14:25:52 [conn12] authenticate db: admin { authenticate: 1, nonce: "789", user: "uname", key: "147" } 
Thu Mar 7 14:25:52 [conn12] auth: key mismatch uname, ns:admin 
Thu Mar 7 14:25:52 [conn12] end connection 127.0.0.1:63939 (4 connections now open) 

아무도 원인을 알 수 있습니까?

$ mongo admin -u uname -p 'password' 
+0

비밀번호에 달러 기호와 같은 특수 문자가 있습니까? – ronasta

+0

예, 일부 스페셜이 포함되어 있습니다. 그러나'mongo admin -u uname -p "password"와 같이 따옴표로 묶는 것은 그 일을하지 않습니다. – RickyA

+0

작은 따옴표를 사용해 보셨습니까? '암호'? 도움이되지 않는다면 암호를 특수 문자가 포함되지 않은 암호로 변경할 수 있습니까? – ronasta

답변

41

특수 문자, 특히 달러 기호를 포함하는 암호는 명령 쉘에서 그들을 보호하기 위해 작은 따옴표에 넣어되어야한다 귀하가 생성 한 사용자. 예 :

mongo admin -u uname -p 'password' --authenticationDatabase admin 
+0

설명한대로 [여기] (http://www.howtogeek.com/howto/29980/whats-the-difference-between-single-and-double-quotes-in-the-bash-shell/) – RickyA

+19

노출을 방지하려면 암호를 bash 히 기록하려면'mongo admin -u uname -p'를 사용하십시오. 암호를 묻습니다. – Kimmo

+0

큰 따옴표가 아닌 작은 따옴표를 사용하십시오. – Fabian

16

당신은 어디를 찾을 수 MongoDB의를 나타 내기 위해 g 용자 --authenticationDatabase에 있습니다

관련 문제