33%

Black Friday Sale Off on everything

and 40% off for dedicated bulgaria servers

Utilisez le code :

BLACK33
BG40
Utiliser la promotion
30.10.2024

Tunnels SSH : Configuration et cas d’utilisation pratiques

Tunnel SSH sécurisé sur AlexHost VPS : Un guide complet pour la redirection de port et l’accès sécurisé

Dans le monde numérique interconnecté d’aujourd’hui, l’accès à distance sécurisé est essentiel pour les développeurs, les administrateurs de système et les professionnels de l’informatique qui gèrent des serveurs ou des applications. Secure Shell (SSH) est le protocole de référence pour les communications cryptées, mais ses capacités de tunneling lui permettent d’atteindre un niveau supérieur. Le tunneling SSH vous permet de transférer en toute sécurité le trafic entre les réseaux, de contourner les pare-feu et d’accéder à des services restreints, tout en maintenant le cryptage et la confidentialité. Qu’il s’agisse d’accéder à une base de données bloquée, d’exposer une application locale à des fins de test ou de naviguer en toute sécurité sur un réseau Wi-Fi public, les tunnels SSH constituent un outil polyvalent pour les scénarios du monde réel.

Qu’est-ce qu’un tunnel SSH ?

Un tunnel SSH est une méthode de transmission de données arbitraires via une connexion SSH cryptée entre deux systèmes. Essentiellement, il vous permet de transférer en toute sécurité le trafic réseau d’une machine à une autre en créant un tunnel à travers lequel les données voyagent. Les tunnels SSH peuvent être utilisés de trois manières principales

  1. Transfert de port local
  2. Redirection de port à distance
  3. Redirection de port dynamique

Chacune de ces méthodes a ses propres cas d’utilisation, que nous allons détailler ci-dessous

1. Transfert de port local

La redirection de port local est la forme la plus couramment utilisée de tunnel SSH. Elle vous permet de transférer le trafic d’un port local de votre machine vers un service distant via une connexion SSH

Fonctionnement de la redirection de port locale

Lorsque vous créez un tunnel SSH local, le trafic envoyé vers un port spécifique de votre machine locale est transféré vers le serveur SSH, qui l’envoie ensuite vers la destination souhaitée (par exemple, une base de données ou un serveur web)

Exemple de cas d’utilisation : Accès à une base de données distante

Imaginez que vous ayez besoin d’accéder à une base de données sur un serveur distant, mais que le port de la base de données soit bloqué par un pare-feu. Au lieu d’ouvrir le port publiquement, vous pouvez utiliser le transfert de port local pour accéder à la base de données en toute sécurité

Commande pour le transfert de port local
ssh -L 5432:localhost:5432 user@remote-server
#

Dans cet exemple

  • -L 5432:localhost:5432 : Spécifie le transfert de port local. Le premier 5432 est le port de votre machine locale, localhost:5432 fait référence à la base de données distante.
  • user@remote-server : Se connecte au serveur SSH distant.

Vous pouvez désormais accéder à la base de données distante depuis votre machine locale en vous connectant à localhost:5432

2. Transfert de port à distance

Le transfert de port à distance vous permet de transférer le trafic d’un serveur distant vers une machine locale. Cette fonction est utile lorsque vous souhaitez exposer un service fonctionnant sur votre machine locale à un serveur distant ou à ses utilisateurs

Fonctionnement de la redirection de port à distance

Avec la redirection de port à distance, tout le trafic qui atteint un port spécifié sur la machine distante sera redirigé vers un port de votre machine locale. Cette configuration est souvent utilisée lorsque vous devez exposer au serveur distant un service qui n’est accessible que sur votre réseau local

Exemple de cas d’utilisation : exposition d’une application web locale à un serveur distant

Imaginez que vous développez une application web localement sur votre machine et que vous voulez la montrer à un collègue sur un serveur distant. Au lieu de déployer l’application, vous pouvez utiliser la redirection de port à distance pour autoriser l’accès à votre application locale

Commande pour le transfert de port à distance
ssh -R 8080:localhost:3000 user@remote-server
#

Dans cet exemple

  • -R 8080:localhost:3000 : Spécifie le transfert de port à distance. Le port 8080 de la machine distante sera redirigé vers localhost:3000 sur votre machine locale, où l’application web est exécutée.
  • user@remote-server : Se connecte au serveur SSH distant.

Désormais, n’importe qui sur le serveur distant peut accéder à votre application web via http://remote-server:8080

3. Redirection dynamique de port

La redirection dynamique de port transforme votre client SSH en serveur proxy SOCKS, ce qui vous permet d’acheminer le trafic de votre machine locale vers n’importe quelle destination via le tunnel SSH. Cette fonction est particulièrement utile lorsque vous souhaitez faire passer l’ensemble du trafic (comme la navigation sur le web) par une connexion sécurisée

Fonctionnement de la redirection dynamique de port

Avec la redirection dynamique de port, le client SSH écoute sur un port local et redirige tout le trafic sortant vers le serveur SSH. Cette configuration vous permet d’utiliser le serveur SSH comme proxy pour votre connexion Internet, en contournant les pare-feu et en sécurisant le trafic

Exemple de cas d’utilisation : contourner les restrictions du réseau

Imaginez que vous êtes sur un réseau Wi-Fi public et que certains sites web ou services sont bloqués. Vous pouvez utiliser la redirection dynamique de port pour contourner ces restrictions et accéder à Internet en toute sécurité via votre serveur SSH

Commande pour la redirection dynamique de port
ssh -D 8080 user@remote-server
#

Dans cet exemple

  • -D 8080 : Spécifie le transfert de port dynamique. Votre machine locale agira comme un proxy SOCKS sur le port 8080.
  • user@remote-server : Se connecte au serveur SSH distant.

Une fois le tunnel activé, vous pouvez configurer votre navigateur ou n’importe quelle application pour qu’elle utilise localhost:8080 comme proxy SOCKS, ce qui vous permet d’acheminer en toute sécurité l’ensemble du trafic via le serveur distant

Configuration des tunnels SSH à l’aide d’un fichier de configuration

Si vous utilisez fréquemment des tunnels SSH, vous pouvez simplifier le processus en créant un fichier de configuration SSH. Le fichier de configuration vous permet de définir des raccourcis pour vos connexions SSH et vos paramètres de transfert de port, ce qui facilite la configuration des tunnels sans avoir à saisir de longues commandes à chaque fois

Exemple de fichier de configuration SSH

Ajoutez la configuration suivante à ~/.ssh/config

Host remote-db HostName remote-server User user LocalForward 5432 localhost:5432

Vous pouvez maintenant mettre en place une redirection de port local vers la base de données distante avec juste

ssh remote-db
#

Exemples pratiques de tunnel SSH

1. Sécuriser le trafic web via un proxy SOCKS

Si vous travaillez dans un environnement restreint et que vous devez accéder à des sites web bloqués, vous pouvez configurer une redirection de port dynamique pour acheminer l’ensemble de votre trafic par l’intermédiaire d’un serveur SSH sécurisé

ssh -D 9090 user@ssh-server
#

Configurez ensuite votre navigateur pour qu’il utilise localhost:9090 comme proxy SOCKS

2. Accès à un service interne distant

Supposons que vous ayez besoin d’accéder à un service interne qui n’est disponible que sur un réseau privé distant. Vous pouvez utiliser la redirection de port local pour vous connecter en toute sécurité à ce service à partir de votre machine locale

ssh -L 8080:internal-service:80 user@remote-server
#

Cela vous permettra d’accéder au service interne à l’adresse http://localhost:8080

3. Exposer un serveur de développement local

Si vous souhaitez partager un serveur de développement local avec des collègues se trouvant sur un serveur distant, utilisez la redirection de port à distance

ssh -R 4000:localhost:3000 user@remote-server
#

Les collègues sur le serveur distant peuvent maintenant accéder à votre application locale à l’adresse http://remote-server:4000

Conclusion : Maîtriser le tunneling SSH pour un accès sécurisé sur le SDV d’AlexHost

Le tunneling SSH sécurise la transmission du trafic pour l’accès à distance ou la navigation. Sur le VPS d’AlexHost, tirez parti de NVMe pour des tunnels à faible latence, l’accès root pour les configurations, et la protection DDoS pour la sécurité. Commencez le tunneling dès aujourd’hui !

33%

Black Friday Sale Off on everything

and 40% off for dedicated bulgaria servers

Utilisez le code :

BLACK33
BG40
Utiliser la promotion