can not connect via SSH to a remote Postgresql database
I am trying to connect via pgAdmin3 GUI to a Postgresql database on a remote server myHost on port 5432.
Server side :
- I have a Unix myUser that match a postgresql role.
- pg_hba.conf is :
local all all trust
host all all 127.0.0.1/32 trust
Client side :
- I open an ssh tunnel : ssh -L 3333:myHost:5432 myUser@myHost
- I connect to the server via pgAdmin3 ( or via psql -h localhost -p 3333 ).
I get the following error message :
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
I have tried to access a specific database with the superuser role using psql -h localhost -p 3333 --dbname=myDB --user=mySuperUser with no more success.
What did I forget in the setup ?
Thank you
Solution 1:
Check if the remote host allow tunneling. You can check with the client if the tunnel is refused with:
ssh -v -L 3333:myHost:5432 myUser@myHost
Solution 2:
In my case, the problem was that the tunnel ended in an IPv6 address:
ssh -L 5434:localhost:5432 user@server
It was enough to replace localhost with the address I had assumed was previously used:
ssh -L 5434:127.0.0.1:5432 user@server
15 minutes of my life down the drain. :) Hope this spares someone else's time...