Me fue fácil conectarme a mi servidor mysql remoto en AWS usando un sequelpro , sin embargo, estoy luchando para hacer lo mismo con mongodb.
Intenté configurar un túnel ssh a través de la línea de comando de esta manera:
ssh -fN -l root -i path/to/id_rsa -L 9999:host.com:27017 host.com
También lo intenté reemplazando el host con una dirección IP
la idea es reenviar todas las conexiones mongodb en el puerto 9999 a la del host en el puerto 27101 .. sin embargo, cuando ejecuto el comando:
mongo --host localhost --port 9999
la conexión falla, obtengo esto en su lugar:
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
si corro sudo netstat -plnt
me sale lo siguiente (que parece en orden):
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
alguna idea de lo que estoy haciendo mal?
actualización: así es como se ve el comando funcional final (el crédito va a kenster ):
ssh -fN -i ~/path/to/id_rsa -L 6666:localhost:27017 root@remote.server.com
donde el -fN
comando hace que este comando se ejecute en segundo plano
-L
parece contradecir la página de manual de 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.
dice explícitamente quehost
es el host del servidor remoto ... ¿lo estás usando para local?