sql >> Base de Datos >  >> RDS >> PostgreSQL

PostgreSQL a través del túnel SSH

Su pg_hba.conf parece permitir conexiones desde localhost. La forma más fácil de hacer que sus conexiones de túnel SSH aparezcan desde localhost es hacerlas a servidor local.

El siguiente comando SSH se conecta a remote.example.com como usuario "usuario" y hace que su cliente ssh escuche en localhost, puerto 1111/tcp. Todas las conexiones realizadas a ese puerto se reenviarán a través del túnel ssh y, en el lado del servidor ssh, las conexiones se realizarán a localhost, puerto 5432/tcp. Dado que nos estamos conectando a localhost, las conexiones también parecerán ser de localhost y deberían coincidir con su línea pg_hba.conf existente.

ssh -L 1111:localhost:5432 example@sqldat.com

Si se espera que sea un túnel de ejecución prolongada, recomendaría usar autossh

Para conectarse usando el cliente psql en el host donde está ejecutando el cliente ssh, use algo como esto:

psql -h localhost -p 1111 -U your-db-username database-name

A continuación, se le debe solicitar la contraseña de usuario de su base de datos.

Alternativamente, puede agregar una línea de la siguiente manera a un archivo llamado .pgpass en su directorio de inicio en el cliente donde está ejecutando psql:

localhost:1111:database-name:your-db-user:your-db-password