Zdá se, že váš pg_hba.conf povoluje připojení z localhost. Nejjednodušší způsob, jak zajistit, aby se vaše připojení k tunelu SSH objevila z localhost, je přimět je k localhost.
Následující příkaz SSH se připojí k remote.example.com jako uživatel „user“ a způsobí, že váš klient ssh bude naslouchat na localhost, port 1111/tcp. Všechna připojení vytvořená na tomto portu budou předána přes tunel ssh a na straně serveru ssh budou připojení vytvořena na localhost, port 5432/tcp. Vzhledem k tomu, že se připojujeme k localhost, budou připojení také vypadat jako z localhost a měla by odpovídat vašemu stávajícímu řádku pg_hba.conf.
ssh -L 1111:localhost:5432 [email protected]
Pokud se očekává, že se bude jednat o dlouhodobý tunel, doporučil bych použít autossh
Chcete-li se připojit pomocí klienta psql na hostiteli, kde používáte klienta ssh, použijte něco takového:
psql -h localhost -p 1111 -U your-db-username database-name
Poté byste měli být vyzváni k zadání hesla uživatele databáze.
Alternativně můžete do souboru s názvem .pgpass
přidat následující řádek ve vašem domovském adresáři na klientovi, kde používáte psql:
localhost:1111:database-name:your-db-user:your-db-password