В этом ответе я рассмотрю конкретный пример. Вам просто нужно заменить имена компьютеров, имена пользователей и пароли на ваши.
Постановка задачи
Предположим, у нас есть следующая топология сети:
our local computer <---> server 1 <---> server 2
Для конкретности предположим, что у нас есть следующие имена компьютеров, имена пользователей и пароли:
LocalPC <---> hostname: mit.edu <---> hec.edu
username: bob username: john
password: dylan123 password: doe456
Цель: мы хотим создать SOCKS прокси - сервер , который прослушивает порт 9991из LocalPCтак , что каждый раз , когда соединение по LocalPCинициируют из порта 9991он проходит через mit.eduто hec.edu.
Пример варианта использования: hec.eduимеет HTTP-сервер, доступный только по адресу http://127.0.0.1:8001 , в целях безопасности. Мы хотели бы иметь возможность посетить http://127.0.0.1:8001 , открыв веб-браузер на LocalPC.
конфигурация
В LocalPC, добавить в ~/.ssh/config:
Host HEC
HostName hec.edu
User john
ProxyCommand ssh bob@mit.edu -W %h:%p
Затем в терминале LocalPCвыполните:
ssh -D9991 HEC
Он спросит у вас пароль bobна mit.edu(т.е. dylan123), а затем спросит пароль johnна hec.edu(т.е. doe456).
В этот момент, SOCKS прокси теперь работает на порту 9991с LocalPC.
Например, если вы хотите посетить веб-страницу с LocalPCиспользованием прокси-сервера SOCKS, вы можете сделать это в Firefox:

Некоторые замечания:
- in
~/.ssh/config, HECэто имя соединения: вы можете изменить его на что угодно.
-D9991Говорит sshо создании SOCKS4 прокси на порту 9991.