Tunneling SSH
Le protocl SSH nous permet de créer des tunnels pour accéder à des appareil distant, à condition d'avoir une connexion SSH sur un appareil au sein du réseau.
SSH Local Port Forwarding (-L)
-
Concept : Relie un port spécifique de votre machine à un port spécifique d'une machine distante via le serveur SSH.
-
Commande :
ssh -L [PORT_LOCAL]:[IP_DESTINATION]:[PORT_DESTINATION] utilisateur@serveur_ssh
- Exemple :
ssh -L 8080:192.168.1.1:80 user@remote- Accès : Tapez http://localhost:8080 pour voir l'interface du routeur 192.168.1.1
SSH Dynamic Port Forwarding (-D)
-
Concept : Transforme votre connexion SSH en un Proxy SOCKS. Au lieu de viser une seule IP, votre navigateur peut atteindre n'importe quelle IP du réseau distant.
-
Commande:
ssh -D [PORT_PROXY] utilisateur@serveur_ssh
- Exemple :
ssh -D 1080 user@remoteVous pouvez aussi le lancer en arrière plan avec la commandessh -f -N -D 1080 utilisateur@serveur_ssh-
-f: Met SSH en arrière plan -
-N: N'ouvre pas de termanl distant (uniquement le tunnel)
-
Sur macOS, une fois le tunnel ouvert vous pouvez ouvrir un navigateur avec open -a "Google Chrome" --args --proxy-server="socks5://localhost:1080"
- Ça fonctionne avec tous les navigateurs basé sur chronium comme Arc par exemple.
- Exemple avec Arc
open -a "Arc" --args --proxy-server="socks5://localhost:1080"
- Exemple avec Arc
Une fois le nagivateur ouvert, tapez juste l'ip voulue pour y accéder. Si vous voulez changer le port ne le changer pas sur la commande faites juste adresse_ip:port.
Le port 1080 sert uniquement de porte d'entrée.
- Pour fermer le tunnel vous pouvez utiliser la commande
pkill -f "ssh -D 1080"qui stoppera tous les commandes contenantssh -D 1080