Ihre pg_hba.conf scheint Verbindungen von localhost zuzulassen. Der einfachste Weg, Ihre SSH-Tunnelverbindungen von localhost erscheinen zu lassen, besteht darin, sie zu zu machen lokaler Host.
Der folgende SSH-Befehl stellt eine Verbindung zu remote.example.com als Benutzer „user“ her und veranlasst Ihren SSH-Client, auf localhost, Port 1111/tcp, zu lauschen. Alle Verbindungen zu diesem Port werden über den SSH-Tunnel weitergeleitet, und auf der Seite des SSH-Servers werden die Verbindungen zu localhost, Port 5432/tcp, hergestellt. Da wir uns mit localhost verbinden, scheinen die Verbindungen auch von localhost zu stammen und sollten mit Ihrer bestehenden pg_hba.conf-Zeile übereinstimmen.
ssh -L 1111:localhost:5432 [email protected]
Wenn erwartet wird, dass dies ein langlaufender Tunnel ist, würde ich die Verwendung von autossh empfehlen
Um eine Verbindung mit dem psql-Client auf dem Host herzustellen, auf dem Sie den ssh-Client ausführen, verwenden Sie etwa Folgendes:
psql -h localhost -p 1111 -U your-db-username database-name
Sie sollten dann nach dem Kennwort Ihres Datenbankbenutzers gefragt werden.
Alternativ können Sie einer Datei mit dem Namen .pgpass
die folgende Zeile hinzufügen in Ihrem Home-Verzeichnis auf dem Client, auf dem Sie psql ausführen:
localhost:1111:database-name:your-db-user:your-db-password