Tunnel over SSH

Иногда очень полезно перенаправить трафик по SSH на нужный нам порт. Например что бы локальный сервер на удаленной машине был доступен из вне.

Для этого на локальном компе запускаем следующую команду.

ssh -i [KEY] -L [PORT]:localhost:[PORT] -N -f -l [USER] [IP]
Не забываем заменить значения в скобках.

Пример

Следующая команд будет перенаправлять трафик на удаленной машине по адресу 192.168.1.1. с порта 3385 (RemoteDesktop) на локальный хост порт 3385. Таким образом при подсоединении к localhost:3385 наш трафик пойдет через зашифрованый SSH канал

ssh -i ~/.ssh/id_rsa -L 3385:localhost:3385 -N -f -l user 192.168.1.1

-i путь к private key (в случае если авторизация осуществляется через ключи)
-L bind_address [port:host:hostport]
-N не выполнять удаленную команду. Используется при перенаправлении портов
-l имя пользователя
Соответственно если нужно перенаправить на иной порт чем 3385 то меняем на свое значение