Comment créer un tunnel SSH sous Linux



Lorsqu’il s’agit de contourner la censure sur internet, les « proxys » et les VPN sont des outils bien connus. Ces solutions permettent aux utilisateurs d’éviter les restrictions, qu’elles soient d’ordre politique ou liées aux règles informatiques d’un environnement professionnel. De plus, elles offrent une couche de confidentialité appréciable pour ceux qui souhaitent protéger leurs données en ligne. En général, les VPN et les proxys publics sont efficaces et faciles à mettre en place. Pour les utilisateurs de Linux, il existe une autre option pour contourner les limitations de réseau et établir une connexion privée : le tunnel SSH.

Fonctionnement du tunneling

Le tunneling consiste à établir un chemin, une sorte de « tube » ou « tunnel », entre le serveur et le client, permettant de rediriger le trafic. Ainsi, le client accède à internet via la connexion du serveur, comme s’il était physiquement devant ce dernier.

Cette connexion sécurisée est rendue possible grâce au protocole Secure Shell (SSH). Il est important de noter que le tunnel SSH ne requiert pas de serveur domestique spécifique, car un serveur SSH est généralement très léger et peut même être exécuté sur un téléphone portable.

Mise en place d’un tunnel SSH

Pour créer un tunnel SSH, il est indispensable de disposer d’un serveur SSH. L’installation de ce composant est relativement simple, bien que la commande puisse varier selon le système d’exploitation utilisé.

Ubuntu

sudo apt install openssh-server

Arch Linux

sudo pacman -S openssh
sudo systemctl enable sshd
sudo systemctl start sshd

Debian

sudo apt-get install openssh-server

Fedora / OpenSUSE

Les utilisateurs de ces distributions constateront que SSH est souvent préinstallé. Cependant, il peut être nécessaire de l’activer via les commandes suivantes :

sudo systemctl enable sshd
sudo systemctl start sshd

Une fois le serveur installé, il est temps de créer le tunnel.

Proxy SOCKS

La méthode dynamique est recommandée pour créer un tunnel, car elle assure la sécurité du trafic. C’est l’option idéale pour protéger la confidentialité des données. De plus, en transformant le tunnel SSH en une connexion proxy SOCKS, il est impossible d’espionner la connexion.

ssh -C -D 1080 remote@adresse-ip

Il est essentiel de remplacer « remote@adresse-ip » par le nom d’utilisateur et l’adresse IP du serveur auquel vous souhaitez vous connecter.

Configuration de Firefox

Si vous désirez naviguer sur internet via un tunnel, il est nécessaire de configurer les paramètres du proxy. Bien que les proxys SOCKS fonctionnent avec la plupart des navigateurs, Firefox offre une expérience optimale grâce à ses options avancées.

Pour commencer, ouvrez Firefox et accédez aux paramètres en cliquant sur le menu « hamburger ». Ensuite, choisissez « Préférences », puis « Avancé » et « Réseau ».

Dans la section réseau, cliquez sur « Paramètres » pour configurer le proxy.

Sélectionnez « Configuration manuelle », cochez la case, puis entrez « 127.0.0.1 » dans le champ « Hôte SOCKS ». Indiquez « 8888 » comme port. Validez ces modifications, ouvrez un nouvel onglet et saisissez « about:config » dans la barre d’adresse.

Firefox : about:config

La page about:config de Firefox permet aux utilisateurs avancés de personnaliser les paramètres internes du navigateur. Pour que le proxy SOCKS fonctionne, un seul paramètre doit être modifié.

Sur cette page, lisez l’avertissement qui s’affiche et acceptez-le pour poursuivre. Vous pouvez décocher la case si vous ne souhaitez plus voir cet avertissement à l’avenir.

Dans la barre de recherche, tapez « network.proxy.socks_remote_dns ». Double-cliquez sur l’option « false » pour la changer en « true ». Le proxy SOCKS est désormais opérationnel et vous pouvez commencer à naviguer.

Notez que le tunnel SSH est désactivé lorsque la connexion est perdue. De plus, pour utiliser Firefox en mode normal, il faudra rétablir les paramètres réseau par défaut.

Tunnel local de base

Ce type de tunnel connecte une connexion locale à une connexion distante. Il est idéal pour établir une connexion à un ordinateur distant. Si vous n’avez pas besoin de confidentialité et que vous souhaitez simplement une connexion distante via un tunnel, utilisez le tunnel local.

ssh -L 8888:localhost:80 remote@adresse-ip

Conclusion

Le tunneling via SSH est une solution efficace pour rediriger le trafic internet de manière privée à la demande. C’est également une excellente alternative si vous ne pouvez pas vous permettre un VPN. Cela ne signifie pas qu’un VPN n’est pas une bonne solution sous Linux, mais le tunnel SSH peut être une solution rapide et simple pour sécuriser votre navigation en ligne.