У цій відповіді я пройду конкретний приклад. Вам просто потрібно замінити імена хостів, імена користувачів і паролі комп'ютерів вашими.
Постановка проблеми
Припустимо, у нас є така мережа топологія:
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:
Деякі зауваження:
- в
~/.ssh/config
, HEC
це ім'я з'єднання: ви можете змінити його на все, що завгодно.
-D9991
Каже ssh
про створення SOCKS4 проксі на порту 9991
.