ssh туннели

Неожиданное погружение в админство продолжается. Очередной левелап.
Материалов в интернете масса, поэтому буду краток – только то, что использовал сам.

Проброс удаленного порта на локальную машину

Случай первый. Есть удаленный сервер, на котором крутится dev-версия php проекта. В процессе разработки хочется посмотреть что и в каких переменных лежит. Собственно как описывается тут: IntelliJ IDEA + xdebug устанавливается xdebug, которому в настройках прописывается рабочий порт, например, 9000 и для локальной разработческой машины пробрасывается этот порт по shh:
В общем случае:

ssh -R [удаленный_адрес:]удаленный_порт:локальный_адрес:локальный_порт [пользователь@]сервер

Пример:

ssh -R 9000:127.0.0.1:9000 remote_user_name@remote_host

Проброс локального порта на удаленную машину

Случай второй. Есть сервер, на котором крутится PostgreSQL и хочется управлять этим сервером с локальной машины через pgadmin, но при этом не хочется на серверной стороне менять настройки в postgresql.conf и pg_hba.conf. Проще пробросить порт с локальной машины на сервер.
В общем случае:

ssh -L [локальный_адрес:]локальный_порт:удаленный_адрес:удаленный_порт [пользователь@]сервер

Пример:

ssh -fNg -L 5555:localhost:5432 remote_user_name@remote_host

Дополнительные опции:

f
После успешной регистрации, переходить в фоновый режим работы.
N
Не выполнять никаких команд на удаленном хосте.
g
Позволяет удаленному хосту коннектится к локальному проброшенному.

Подробнее можно посмотреть в man ssh

После этого в pgadmin создается новое подключение к серверу на локалхосте, но порт прописывается 5555 (есть локальный postgresql и поэтому порт 5432 уже занят)

Leave a Reply

Your email address will not be published. Required fields are marked *