मेरे लिए AWS पर अपने रिमोट mysql सर्वर को सीक्वलप्रो का उपयोग करके कनेक्ट करना आसान था , हालाँकि मैं उसी चीज़ को मोंगोडब के साथ करने के लिए संघर्ष कर रहा हूं।
मैंने कमांड लाइन के माध्यम से एक ssh सुरंग स्थापित करने की कोशिश की, जैसे:
ssh -fN -l root -i path/to/id_rsa -L 9999:host.com:27017 host.com
मैंने इसे एक आईपी पते के साथ होस्ट की जगह देने की भी कोशिश की
यह विचार पोर्ट 9101 पर होस्ट के लिए पोर्ट 9999 पर सभी मोंगोडब कनेक्शन को फॉरवर्ड करने के लिए है .. हालांकि जब मैं आदेश देता हूं:
mongo --host localhost --port 9999
कनेक्शन विफल रहता है, मुझे इसके बदले मिलता है:
MongoDB shell version: 2.6.0
connecting to: localhost:9999/test
channel 2: open failed: connect failed: Connection timed out
channel 3: open failed: connect failed: Connection timed out
2014-05-22T14:42:01.372+0300 DBClientCursor::init call() failed
2014-05-22T14:42:01.374+0300 Error: DBClientBase::findN: transport error: localhost:9999 ns: admin.$cmd query: { whatsmyuri: 1 } at src/mongo/shell/mongo.js:148
exception: connect failed
अगर मैं दौड़ता sudo netstat -plnt
हूं तो मुझे निम्नलिखित मिलता है (जो क्रम में लगता है):
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 4242/node
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1342/httpd2-prefork
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2552/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2505/master
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 11719/mongod
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 16561/redis-server
किसी भी विचार क्या मैं गलत कर रहा हूँ?
अद्यतन: यह है कि अंतिम कार्यात्मक कमांड कैसा दिखता है (क्रेडिट केनस्टर पर जाता है ):
ssh -fN -i ~/path/to/id_rsa -L 6666:localhost:27017 root@remote.server.com
जहां -fN
कमांड इस कमांड को बैकग्राउंड में रन करता है
-L
करते हैं वह ssh मैन पेज के विपरीत लगता है:-L [bind_address:]port:host:hostport Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.
यह स्पष्ट रूप से कहता है किhost
दूरस्थ सर्वर होस्ट है .. आप इसे स्थानीय के लिए उपयोग कर रहे हैं?