En el mundo de la administración de bases de datos, a menudo surge la necesidad de acceder a una base de datos PostgreSQL de forma remota. Una forma segura y confiable de lograrlo es estableciendo una conexión a través de SSH (Secure Shell). En este artículo, exploraremos los pasos necesarios para establecer una conexión remota a PostgreSQL utilizando SSH y proporcionaremos ejemplos de códigos para conectarse a la base de datos.
¿Qué es SSH?
SSH es un protocolo de red utilizado para acceder y administrar sistemas remotos de forma segura. Proporciona una forma encriptada de comunicación entre el cliente y el servidor, lo que lo convierte en una opción ideal para conectarse de manera segura a una base de datos remota como PostgreSQL.
Pasos para establecer una conexión remota a PostgreSQL a través de SSH:
Configurar el servidor SSH: Antes de poder establecer una conexión remota a través de SSH, asegúrate de tener un servidor SSH configurado en el sistema que aloja la base de datos PostgreSQL. Esto implica instalar y configurar un servidor SSH como OpenSSH en el servidor.
Habilitar el acceso remoto a PostgreSQL: Asegúrate de que PostgreSQL esté configurado para permitir conexiones remotas. Esto implica editar el archivo de configuración de PostgreSQL (postgresql.conf) y modificar la directiva listen_addresses para permitir conexiones desde direcciones IP remotas.
Configurar el reenvío de puertos SSH: El reenvío de puertos SSH te permite redirigir las conexiones de un puerto local a un puerto remoto a través del túnel SSH. Puedes configurar el reenvío de puertos en el cliente SSH utilizando la opción -L seguida del número de puerto local y la dirección IP y el número de puerto remoto.
Ejemplo:
ssh -L 5432:localhost:5432 usuario@servidor
En el ejemplo anterior, se establece un túnel SSH hacia el servidor remoto y se redirige el tráfico del puerto 5432 en el cliente local al puerto 5432 en el servidor remoto.
Conectar a PostgreSQL utilizando psql: Una vez que hayas establecido el reenvío de puertos SSH, puedes conectarte a la base de datos PostgreSQL utilizando la herramienta de línea de comandos psql.
Ejemplo:
psql -h localhost -p 5432 -U usuario -d basedatos
En el ejemplo anterior, localhost y 5432 son la dirección IP y el puerto local configurados en el reenvío de puertos SSH. usuario es el nombre de usuario de PostgreSQL y basedatos es el nombre de la base de datos a la que deseas acceder.
La conexión remota se configura en la ruta: /var/lib/pgsql/data/postgresql.conf
en la Línea de código: listen_addresses =
'*'
Para ver las conexiones se ejecuta:
tail -
1000
/var/lib/pgsql/data/pg_log/postgresql-Mon.log
Establecer una conexión remota a PostgreSQL utilizando SSH es una forma segura y confiable de acceder a tus bases de datos de forma remota. Siguiendo los pasos mencionados anteriormente y utilizando los ejemplos de códigos proporcionados, podrás establecer una conexión exitosa a tu base de datos PostgreSQL a través de SSH. Recuerda que es importante tomar precauciones de seguridad adecuadas al configurar el acceso remoto a tus bases de datos. ¡Ahora estás listo para administrar tu base de datos PostgreSQL de
Comentarios