Tunnels SSH et proxy SOCKS
Créez des tunnels SSH sécurisés pour chiffrer les communications et configurez un proxy SOCKS pour naviguer anonymement ou contourner les restrictions réseau.
Tunnels SSH et proxy SOCKS est une leçon Linux Server Deployment & SSH Mastery gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Linux Server Deployment & SSH Mastery, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Linux Server Deployment & SSH Mastery comprend 4 leçons au total.
Introduction aux tunnels SSH
Bienvenue dans le monde des tunnels SSH ! Il ne s’agit pas de tunnels physiques, mais de connexions sécurisées qui vous permettent de transférer du trafic réseau via un serveur SSH.
Imaginez la création d’un chemin secret et chiffré à travers un réseau public. Ce chemin vous permet d’accéder à des services qui pourraient autrement être bloqués ou peu sécurisés.
Pourquoi utiliser des tunnels SSH ?
Les tunnels SSH sont extrêmement polyvalents pour les développeurs et les administrateurs système. Ils vous aident à :
- Contourner les pare-feu : accéder à des services internes qui ne sont pas exposés à Internet.
- Sécuriser le trafic non chiffré : chiffrer les données qui circuleraient normalement de manière non sécurisée (par exemple avec d’anciens protocoles).
- Accéder aux ressources restreintes : atteindre des services sur un réseau privé depuis un réseau public, ou inversement.
Explication du transfert de port local
Le transfert de port local consiste à connecter un port de votre machine locale à un port d’une machine distante (via le serveur SSH).
Le serveur SSH joue le rôle d’intermédiaire. Votre application locale se connecte à un port local, puis SSH transfère de manière sécurisée ce trafic vers l’hôte et le port distants indiqués.
Transfert local : la commande
La syntaxe du transfert de port local est simple :
ssh -L [local_port]:[remote_host]:[remote_port] [user]@[ssh_server]
Voici un exemple pour accéder à une base de données exécutée sur db-server (port 3306) via votre serveur ssh-gateway :
ssh -L 8080:db-server:3306 user@ssh-gateway.comTransfert local : utilisation pratique
Après avoir exécuté la commande de la scène précédente, vous pouvez maintenant connecter votre client de base de données local à localhost:8080.
Tout le trafic que vous envoyez vers localhost:8080 sera transféré de manière sécurisée via ssh-gateway.com vers db-server:3306. Cette technique est très utile pour accéder à des bases de données ou à des services web privés.
Explication du transfert de port distant
Le transfert de port distant est l’opposé du transfert local. Il vous permet d’exposer un service exécuté sur votre machine locale via un port du serveur SSH distant.
Ainsi, d’autres personnes peuvent se connecter à un port du serveur SSH distant, et leur trafic est transféré de manière sécurisée vers votre service local.
Transfert distant : la commande
La syntaxe du transfert de port distant utilise l’option -R :
ssh -R [remote_port]:[local_host]:[local_port] [user]@[ssh_server]
Supposons que vous ayez un serveur web exécuté localement sur le port 8000 et que vous souhaitiez le rendre accessible à d’autres personnes via votre serveur ssh-gateway, sur le port 8888 :
ssh -R 8888:localhost:8000 user@ssh-gateway.comTransfert distant : utilisation pratique
Une fois le tunnel distant établi, toute personne pouvant atteindre ssh-gateway.com peut accéder à votre serveur web local en se connectant à ssh-gateway.com:8888.
Cette technique est utile pour partager un serveur de développement local avec des coéquipiers ou pour les webhooks qui doivent atteindre votre machine locale.
Proxy SOCKS via SSH
Un proxy SOCKS vous permet d’acheminer tout le trafic de vos applications (par exemple, celui d’un navigateur web ou d’un client de discussion) via le serveur SSH. Cette technique est souvent utilisée pour anonymiser la navigation ou contourner les restrictions réseau.
L’option -D crée un proxy SOCKS sur un port local :
ssh -D 9999 user@ssh-gateway.comConfigurer votre client pour SOCKS
Après avoir exécuté ssh -D 9999 user@ssh-gateway.com, un proxy SOCKS fonctionnera sur localhost:9999.
Vous configurez ensuite votre navigateur web (ou une autre application) pour utiliser localhost comme proxy SOCKS5 sur le port 9999. Tout le trafic Internet de cette application sera alors acheminé de manière sécurisée via votre ssh-gateway.
Vérification : tunnels
Vous essayez d’accéder depuis votre machine locale (localhost) à un service web interne privé exécuté sur internal-app.local:80. Vous disposez d’un accès SSH à jump-host.com.
Quelle commande SSH utiliseriez-vous pour transférer le port local 8080 vers le service web interne ?
Résumé des tunnels et des proxys
Vous maîtrisez désormais les tunnels SSH ! Nous avons vu :
- Transfert de port local (
-L) : accéder aux services distants depuis votre machine locale. - Transfert de port distant (
-R) : exposer des services locaux sur le serveur SSH distant. - Proxy SOCKS (
-D) : acheminer tout le trafic des applications via le serveur SSH pour préserver la confidentialité ou contourner les restrictions.
Ces techniques sont des outils puissants pour accéder au réseau de manière sécurisée et flexible lors du développement et de l’administration.
Questions Fréquemment Posées
La leçon « Tunnels SSH et proxy SOCKS » est-elle gratuite ?
Oui — le texte complet de « Tunnels SSH et proxy SOCKS » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Linux Server Deployment & SSH Mastery, passe à CoddyKit PRO. Le cours Linux Server Deployment & SSH Mastery comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Tunnels SSH et proxy SOCKS » ?
Créez des tunnels SSH sécurisés pour chiffrer les communications et configurez un proxy SOCKS pour naviguer anonymement ou contourner les restrictions réseau. Tu pratiques Linux Server Deployment & SSH Mastery avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Linux Server Deployment & SSH Mastery ?
Aucune expérience préalable n'est requise. Linux Server Deployment & SSH Mastery sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Tunnels SSH et proxy SOCKS » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Linux Server Deployment & SSH Mastery ?
Oui. Chaque leçon Linux Server Deployment & SSH Mastery inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Redirection de ports SSH (locale/distante)
- Tunnels SSH et proxy SOCKS
- Agent SSH et connexions à plusieurs sauts
- Transfert sécurisé de fichiers avec SCP, SFTP et rsync