I've got ~50 databases all set up at different host names, with the requirement that I connect to them through an SSH tunnel.
For example:
SSH host at ssh.example.com
MySQL host at mysql1.example.com
I have managed to create the tunnel using autossh (web server running Debian), but I can't seem to figure out how to connect to a specific MySQL hostname "beyond" the SSH tunnel.
Typing lsof -i -n | egrep '\<ssh\>'
confirms that the tunnel is working (sends port 3307 to ssh.example.com port 3306)
So when I try mysql -h 127.0.0.1 -P 3307
I get Connection refused. Not too weird since it's not an MySQL server.
My question to you guys:
How do I specify the mysql1.example.com
host AFTER creating the SSH tunnel? I've tried searching everywhere but can't seem to figure it out.
Solved it! The thing was to connect to the correct server when creating the tunnel itself - should've seen that one coming.
ssh -f [email protected] -L 3307:mysql1.example.com:3306 -N
Then mysql -h 127.0.0.1 -P 3307
worked as intended. :)