W tej odpowiedzi przedstawię konkretny przykład. Musisz tylko zastąpić nazwy hostów komputerów, nazwy użytkowników i hasła.
Opis problemu
Załóżmy, że mamy następującą topologię sieci:
our local computer <---> server 1 <---> server 2
Ze względu na konkretność załóżmy, że mamy następujące nazwy hostów, nazwy użytkowników i hasła komputerów:
LocalPC <---> hostname: mit.edu <---> hec.edu
username: bob username: john
password: dylan123 password: doe456
Cel: chcemy, aby skonfigurować serwer proxy SOCKS, który nasłuchuje na porcie 9991
o LocalPC
tak, że za każdym razem gra na LocalPC
inicjowane jest z portu 9991
to przechodzi mit.edu
potem hec.edu
.
Przykład zastosowania: hec.edu
ma serwer HTTP, który jest dostępny tylko ze strony http://127.0.0.1:8001 ze względów bezpieczeństwa. Chcielibyśmy móc odwiedzić stronę http://127.0.0.1:8001 , otwierając przeglądarkę internetową LocalPC
.
Konfiguracja
W LocalPC
dodaj ~/.ssh/config
:
Host HEC
HostName hec.edu
User john
ProxyCommand ssh bob@mit.edu -W %h:%p
Następnie w terminalu LocalPC
uruchom:
ssh -D9991 HEC
Poprosi Cię o hasło bob
on mit.edu
(tj. dylan123
), A następnie poprosi o hasło john
on hec.edu
(tj doe456
.).
W tym momencie, proxy SOCKS jest teraz uruchomiony na porcie 9991
o LocalPC
.
Na przykład, jeśli chcesz odwiedzić stronę internetową za LocalPC
pomocą proxy SOCKS, możesz to zrobić w przeglądarce Firefox:
Kilka uwag:
- in
~/.ssh/config
, HEC
to nazwa połączenia: możesz zmienić ją na dowolną.
-D9991
Mówi ssh
założyć SOCKS4 proxy na porcie 9991
.