1

認証をオンにして、リモートサーバー(debian)でmongo dbを実行しています。データを視覚化するには、ローカル マシン (Windows) から UMongo (mongodb の UI ツール) に接続する必要があります。サーバーマシンでmongodbポートを開いていませんが、からlocalhost:9999へのsshトンネルを作成しましたmongodb-host:port。UMongoの接続uriとして、私は与えました

[username]:[password]@localhost:9002
(also tried with [username]:[password]@localhost:9002/dbname)

と接続してみました。データベースは表示されますが、認証されず、認証エラーがスローされます。指定された資格情報が正しいことを確認しました。資格情報が ssh トンネリングを使用して mongodb サーバーに適切に渡されていないかどうか疑問に思っています。

更新:認証を無効にしてmongoサーバーを再起動しました。その後、リモート mongo シェルにアクセスしようとしました。で試したところmongo --port 9002、以下のエラーが発生しました。

MongoDB shell version: 2.4.4
connecting to: 127.0.0.1:9002/test
Thu Sep 05 22:55:21.107 Socket recv() errno:10054 An existing connection was forcibly
  closed by the remote host. 127.0.0.1:9002
Thu Sep 05 22:55:21.107 SocketException: remote: 127.0.0.1:9002 error: 9001 socket 
exception [1] server [127.0.0.1:9002]
Thu Sep 05 22:55:21.107 DBClientCursor::init call() failed
Thu Sep 05 22:55:21.107 JavaScript execution failed: Error: DBClientBase::findN:   
transport error: 127.0.0.1:9002 ns: admin.$cmd query: { whatsmyuri: 1
} at src/mongo/shell/mongo.js:L114
exception: connect failed

しかし、試してみるとmongo --port 9002 --nodb、mongo シェルを取得できました。次にuse mydb、以下のエラーをスローしようとしました:

Thu Sep 05 22:57:43.205 JavaScript execution failed: ReferenceError: db is not defined 
at src/mongo/shell/utils.js:L691

どんな助けでも大歓迎です。

ありがとう。

4

0 に答える 0