PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

PostgreSQL via le tunnel SSH

Votre pg_hba.conf semble autoriser les connexions depuis localhost. Le moyen le plus simple de faire apparaître vos connexions de tunnel SSH à partir de localhost est de les faire vers hôte local.

La commande SSH suivante se connecte à remote.example.com en tant qu'utilisateur "user" et oblige votre client ssh à écouter sur localhost, port 1111/tcp. Toutes les connexions établies sur ce port seront transmises via le tunnel ssh, et du côté du serveur ssh, les connexions seront établies vers localhost, port 5432/tcp. Puisque nous nous connectons à localhost, les connexions sembleront également provenir de localhost et devraient correspondre à votre ligne pg_hba.conf existante.

ssh -L 1111:localhost:5432 [email protected]

Si l'on s'attend à ce qu'il s'agisse d'un tunnel de longue durée, je recommanderais d'utiliser autossh

Pour vous connecter à l'aide du client psql sur l'hôte sur lequel vous exécutez le client ssh, utilisez quelque chose comme ceci :

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

Vous devriez alors être invité à entrer le mot de passe de l'utilisateur de votre base de données.

Alternativement, vous pouvez ajouter une ligne ligne comme suit dans un fichier appelé .pgpass dans votre répertoire personnel sur le client sur lequel vous exécutez psql :

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