Перенаправление портов в SSH
ssh -L [адрес:]порт:хост:порт_хоста someuser@somehost
После такого подключения обращение на порт на (дефолтно) локальной машине будет таким же, как будто вы обращаетесь напрямую на хост:порт_хоста находясь на удаленной машине.
Пример 1:
ssh -L 12345:192.168.123.213:80 myuser@proxyhost
позволит обращаться на локальный порт 12345 так же, как если бы Вы находились на машине myproxyhost и обращались на 80-й порт хоста 192.168.123.213.
Пример 2:
ssh -L 3128:localhost:3128 user@myhostwithproxy
позволит обращаться на локальный порт 3128 так же, как если бы Вы находились на машине myhostwithproxy и обращались на порт 3128 там.
ssh -R [адрес:]порт:хост:порт_хоста someuser@somehost
Подобно ключу -L, но в данном случае обращение на порт на удаленной машине будет таким же, как будто Вы обращаетесь напрямую на указанный хост:порт_хоста, находясь локально.
Пример 1:
ssh -R 3128:localhost:3128 user@myhostwithproxy
После логина на удаленную машину на ней можно будет обращаться к порту 3128 так, как будто на ней работает http-proxy, расположенной на локальной машине.
ssh -D [хост:]порт someuser@somehost
После такого подключения на указанном локальном порту будет доступен SOCKS-прокси сервер, забирающий трафик с somehost