Взаимодействие с PostgreSQL на удаленном сервере через SSH-туннель?

У меня есть настройка User A на моем веб-сервере с открытым SSH-ключом, скопированным на [F5] пользователя B на моем сервере базы данных. Идея заключается в использовании SSH-туннеля для облегчения связи между моим веб-приложением и удаленной базой данных. Я использую ufw для блокировки всего, кроме подключений ssh ​​и порта 5432, который PostgreSQL использует для локальных подключений:

ufw default deny
ufw allow ssh/tcp
ufw allow 5432/tcp
ufw enable

Вот команда, которую я использую для открытия туннеля SSH (через веб-сервер):

ssh -L 63333:localhost:5432 userb@1.2.3.4

Запуск ~/.ssh/authorized_keys после выполнения указанной выше команды на моем веб-сервере дает следующее:

tcp      0     0 127.0.0.1:63333       0.0.0.0:*       LISTEN      22560/ssh
tcp6     0     0 ::1:63333             :::*            LISTEN      22560/ssh

Затем я пытаюсь подключиться к сервера базы данных на порту 63333, чтобы убедиться, что все работает:

psql -h localhost -p 63333 userb

Мне встречается следующее сообщение об ошибке:

-bash: / usr / bin / psql: No такой файл или каталог

Есть ли что-то очевидное, что я здесь отсутствует? У меня только PostgreSQL установлен на сервере базы данных. Насколько я понимаю, как только туннель находится на месте и заданы правильные параметры, не должен ли я иметь доступ к интерактивному терминалу (psql)?

1
задан 19 December 2013 в 02:03

0 ответов

Другие вопросы по тегам:

Похожие вопросы: