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 [email protected]

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