logo open ssh

Utiliser les tunnels SSH

Temps de lecture : 3 minutes

SSH c’est bien pratique et je pense que personne ne me contredira la dessus, mais connaissez-vous les tunnels SSH ?

Il existe plusieurs façons de créer un tunnel SSH. En ce qui nous concerne, nous allons voir aujourd’hui comment utiliser un de ces tunnels couplé à un navigateur web afin de surfer sur internet au travers d’un serveur distant.

Ok, mais ça sert à quoi ?

Chacun y trouvera une utilité. Vous pouvez par exemple utiliser un tunnel SSH si :

  • Vous ne faites pas confiance au réseau sur lequel vous vous trouvez et ne souhaitez pas que votre trafic non-sécurisé y transite
  • Une politique de restriction est mise en place et vous ne pouvez pas accéder à certains sites
  • Vous ne voulez pas ouvrir d’autres ports que celui dédié à SSH sur votre routeur mais vous souhaitez tout de même accéder à des interfaces web de gestion sur votre serveur (par exemple pour un client torrent ou ftp).

Comment ça marche ?

Je vous ai fait un petit schéma, ce sera sûrement mieux qu’un long discours :

Le principe est simple: initier une connexion chiffrée entre votre machine et un serveur distant et ensuite naviguer sur internet comme si vous vous trouviez sur le serveur distant. Le rôle du serveur est donc de relayer les requêtes HTTP ou autres qui transitent par le tunnel SSH.

tunnel ssh1 Utiliser les tunnels SSH

Un tunnel SSH

Pré-requis

Vous aurez bien sûr besoin d’un serveur SSH  et d’un accès à ce serveur. Pour cet exemple, nous utiliserons Firefox mais le principe reste le même sur les autres navigateurs.

Etablir la connexion SSH

Tout d’abord, choisissons un port au hasard, mais attention, celui-ci ne doit pas être utilisé sur la machine cliente, par exemple le 9999.

Ensuite dans un terminal (si vous êtes sous windows, vous pouvez utiliser Putty):

utilisateur : votre user sur le serveur distant

hostname : l’adresse ip du serveur distant

Configurons Firefox

Dans Firefox : Préférences -> Avancé -> Réseaux puis Paramêtres

firefox parametres Utiliser les tunnels SSH

Configurez l’hôte SOCKS comme sur la capture ci-dessous

firefox config Utiliser les tunnels SSH

Configuration de Firefox pour le tunneling

Et voilà, vous pouvez maintenant surfez en toute tranquillité.

Test

Pour tester, si je me rends sur un site affichant l’adresse IP, je me retrouve avec :

ip distante Utiliser les tunnels SSH

IP avec laquelle je navigue

On retrouve bien l’adresse du serveur alors que ma propre adresse est :

mon ip Utiliser les tunnels SSH

Ma véritable IP

On peut donc en conclure que le tunnel fonctionne.

Et je peux par exemple accéder à l’interface Webmin du serveur sur le port 10000:

webmin Utiliser les tunnels SSH

Interface Webmin

Pour finir

Les requêtes DNS, elles, ne passent pas par le tunnel. Pour résoudre le problème, il faut taper dans la barre d’adresse de Firefox “about:config” puis répondre à l’avertissement par “Je ferai attention”.

A l’aide du filtre, rechercher la valeur network.proxy.socks_remote_dns puis inverser son état (clique droit -> inverser)

 

config dns firefox Utiliser les tunnels SSH

Inverser l’état de network.proxy.socks_remote_dns

Et voilà, les requêtes DNS passent elles aussi par le tunnel.

Ne pas oublier de repasser la valeur à false lorsque vous aurez terminé.

Une fois que vous n’avez plus l’utilité du tunnel, fermez-le en tuant le processus (Ctrl + c)

Encore une fois, si vous désirez pousser plus loin les possibilités que vous offre SSH, utilisez le man 😉


Réagissez à l'article