sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL via SSH-tunnel

Uw pg_hba.conf lijkt verbindingen van localhost toe te staan. De gemakkelijkste manier om uw SSH-tunnelverbindingen te laten verschijnen vanaf localhost is om ze naar . te maken localhost.

De volgende SSH-opdracht maakt verbinding met remote.example.com als gebruiker "gebruiker", en zorgt ervoor dat uw ssh-client luistert op localhost, poort 1111/tcp. Alle verbindingen die naar die poort worden gemaakt, worden doorgestuurd via de ssh-tunnel en aan de kant van de ssh-server worden de verbindingen gemaakt naar localhost, poort 5432/tcp. Aangezien we verbinding maken met localhost, lijken de verbindingen ook van localhost te zijn en moeten ze overeenkomen met uw bestaande pg_hba.conf-regel.

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

Als dit naar verwachting een langlopende tunnel zal zijn, raad ik aan om autossh te gebruiken

Om verbinding te maken met de psql-client op de host waarop u de ssh-client draait, gebruikt u zoiets als dit:

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

U moet dan om het wachtwoord van uw databasegebruiker worden gevraagd.

Als alternatief kunt u de volgende regel toevoegen aan een bestand met de naam .pgpass in je homedirectory op de client waar je psql draait:

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



  1. MySQL relationele databases gebruiken op Ubuntu 9.10 (Karmic)

  2. Kan ik automatisch een tabel maken in PostgreSQL vanuit een csv-bestand met headers?

  3. Hoe gebruik je scriptvariabelen in psql?

  4. Multi-threading C#-toepassing met SQL Server-databaseaanroepen