I love to use RoboMongo1 as the Mongo DB Query tool. In my case the problem is that the MongoDb server is on a private network and the only way to get to the private server from my machine is via ssh. Which means logging into the box, using
mongo command to connect to the database and then issue my queries. Of course manually typing in my queries on a command line isn't my favorite thing to do. Being able to use
RoboMongo is a major productivity boost and I want to be able to use it to connect to remote DB.
Enter SSH tunnel.
Issue the following command on your terminal (I am using Mac hence a UNIX based system):
ssh -fN -i ~/.ssh/YourKeyFile.pem -L 6666:localhost:27017 userId@184.108.40.206
The command above is setting up: traffic on your local machine's
6666 port to be forwarded to remote server's localhost:27017. The
userId is the
userId you use to login to remote box. And
220.127.116.11 is remote server's ip address. The
-i parameter allows you to connect using a
.pem file i.e. a password-less connection.
Please make sure not to use low port numbers (lower than 1024) as local machine's port, since you won’t be able to bind them without root privileges.
Once you have the SSH tunnel set you can connect via
Any traffic will be diverted to
18.104.22.168 then to
Hope you found this useful. Please let me know if you have any questions/comments/feedback.