Dans cette réponse, je vais passer à travers un exemple concret. Il vous suffit de remplacer les noms d'hôte, noms d'utilisateur et mots de passe des ordinateurs par les vôtres.
Déclaration du problème
Supposons que nous ayons la topologie de réseau suivante:
our local computer <---> server 1 <---> server 2
Pour des raisons concrètes, supposons que nous possédons les noms d'hôte, noms d'utilisateur et mots de passe des ordinateurs suivants:
LocalPC <---> hostname: mit.edu <---> hec.edu
username: bob username: john
password: dylan123 password: doe456
Objectif: nous voulons configurer un proxy SOCKS qui écoute sur le port 9991
de LocalPC
sorte que chaque fois qu'une connexion LocalPC
est établie à partir du port, 9991
elle passe mit.edu
ensuite hec.edu
.
Exemple de cas d'utilisation: hec.edu
dispose d'un serveur HTTP uniquement accessible sur http://127.0.0.1:8001 , pour des raisons de sécurité. Nous aimerions pouvoir visiter http://127.0.0.1:8001 en ouvrant un navigateur Web sur LocalPC
.
Configuration
Dans LocalPC
, ajoutez dans ~/.ssh/config
:
Host HEC
HostName hec.edu
User john
ProxyCommand ssh bob@mit.edu -W %h:%p
Puis dans le terminal de LocalPC
, lancez:
ssh -D9991 HEC
Il vous demandera le mot de passe de bob
on mit.edu
(ie dylan123
), puis il vous demandera le mot de passe de john
on hec.edu
(ie doe456
).
À ce stade, le proxy SOCKS s'exécute maintenant sur le port 9991
de LocalPC
.
Par exemple, si vous souhaitez visiter une page Web sur l’ LocalPC
utilisation du proxy SOCKS, vous pouvez le faire dans Firefox:
Quelques remarques:
- in
~/.ssh/config
, HEC
est le nom de la connexion: vous pouvez le changer en tout ce que vous voulez.
- Le
-D9991
dit ssh
de configurer un proxy SOCKS4 sur le port 9991
.