Вашият pg_hba.conf изглежда позволява връзки от localhost. Най-лесният начин да накарате вашите SSH тунелни връзки да се показват от localhost е да ги накарате в локален хост.
Следната SSH команда се свързва с remote.example.com като потребител "потребител" и кара вашия ssh клиент да слуша на localhost, порт 1111/tcp. Всички връзки, направени към този порт, ще бъдат препратени през ssh тунела, а от страната на ssh сървъра връзките ще бъдат направени към localhost, порт 5432/tcp. Тъй като се свързваме с localhost, връзките ще изглеждат също така от localhost и трябва да съответстват на съществуващия ви ред pg_hba.conf.
ssh -L 1111:localhost:5432 [email protected]
Ако се очаква това да е дълготраен тунел, бих препоръчал използването на autossh
За да се свържете с помощта на psql клиента на хоста, където изпълнявате ssh клиента, използвайте нещо подобно:
psql -h localhost -p 1111 -U your-db-username database-name
След това трябва да бъдете подканени за потребителската парола на вашата база данни.
Като алтернатива можете да добавите следния ред към файл, наречен .pgpass
във вашата домашна директория на клиента, където изпълнявате psql:
localhost:1111:database-name:your-db-user:your-db-password