Hey, I am unable to connect to my mongodb through SSH. I mostly get EADDRINUSE. I would be happy to at least understand the error – what does it mean?
Error creating SSH Tunnel: connect EADDRINUSE <ip>:22 - Local (0.0.0.0:29418)
I just tried the same setup with Studio3T/Robo3T (alternative GUI client) and the connection is working on the first try.
Sometimes in Compass, without any changes, I even get AUTHENTICATION FAILED. Does that mean mongodb auth or ssh auth? Sometimes, the SSH Port field is highlighted red, sometimes not. So weird.
Any ideas why Compass refuses to connect? I’d prefer using the official software but it just doesn’t seem to work. I have zero idea where to start debugging, what my configuration is missing, or if there are good and free alternatives to Compass. Help?
If you’re connecting to localhost use 127.0.0.1 if you need an ip for the Hostname field.
You probably don’t have MongoDB configured to listen on the external interface.
I think basically you have set up more than you need to for localhost.
I should’ve made it clear that I try to connect to a remote server. On that server mongodb does not accept external interfaces, true. So hostname is my remote server that I ssh into, and then try to connect to its localhost.
Did you redirect the ports properly using ssh -L flag, e.g, something like:
ssh -L 27017:localhost:27017 me@myhost
(assuming you don’t have mongod running on the local machine, in which case you would need to use another port, e.g., 27117, on the right side of the -L argument and add the port number to your mongodb uri)?
Also if you name the interface (localhost) to ssh -L as I did above, that’s the interface, i.e., 127.0.0.1, not the ethernet interface address of your computer.
Hey Jack, thank you, that is super interesting. I completely skip the “More Options” and SSH Login of Compass now and do the following:
in my local terminal ssh -L 27017:localhost:27017 me@myhost
Create a new connection inside Compass to localhost with User/Pass Auth of the remote DB
Connect – it works
That’s a great solution, I didn’t know something like this was possible. I still don’t really understand why it doesn’t work with the SSH Options inside Compass, but this looks like a super future proof solution. Thanks!
Ha! you got me, @thusman … I’m not much of a tool-using animal I always use the lowest-level approach. SSH is “closer to ground” so I set up any necessary redirections there and then use whatever tool without it having to know about things. Wasn’t even aware Compass handles port redirections in any fashion.