Comment configurer un tunnel SSH sur Linux

Comment configurer un tunnel SSH sur Linux

La configuration d'un tunnel SSH sur Linux peut être un moyen utile de protéger votre confidentialité et votre sécurité en ligne. Un tunnel SSH crypte votre trafic Internet et le achemine via un tunnel sécurisé à un serveur distant, ce qui rend pratiquement impossible pour quiconque d'intercepter ou de lire vos données. Dans cet article, nous vous montrerons comment configurer un tunnel SSH sur Linux en utilisant la ligne de commande.

Ce dont vous aurez besoin

Avant de commencer, vous aurez besoin de quelques choses:

  • Un ordinateur Linux
  • Accès à un serveur distant qui prend en charge SSH

Commande SSH de base

Tout d'abord, ouvrez une fenêtre de terminal sur votre ordinateur Linux. Vous pouvez le faire en appuyant sur Ctrl + Alt + T ou en accédant au menu de votre application et en recherchant «Terminal».

Pour configurer un tunnel SSH sur Linux, nous utiliserons la commande ssh. La syntaxe de base pour la commande SSH est la suivante:

ssh [user @] hostname [-p port] [commande]
1ssh [user @] hostname [-p port] [commande]

Voici ce que fait chaque partie de la commande:

  • [[e-mail protégé]] Nom d'hôte: Le serveur distant auquel vous souhaitez vous connecter. Vous pouvez spécifier le nom d'utilisateur à utiliser pour la connexion avant le nom d'hôte, comme ceci: [Protégé par e-mail]
  • [-p port]: Le numéro de port à utiliser pour la connexion SSH. Par défaut, SSH utilise le port 22, mais vous pouvez spécifier un autre numéro de port si nécessaire.
  • [commande]: La commande que vous souhaitez exécuter sur le serveur distant. Dans ce cas, nous allons créer un tunnel SSH, nous n'avons donc pas besoin de spécifier une commande.

Configurez le tunnel SSH local

Le tunneling SSH local est utilisé pour transférer un port local sur un serveur distant. Par exemple, si vous avez un serveur Web exécuté sur votre machine locale à laquelle vous souhaitez accéder à partir d'un serveur distant, vous pouvez utiliser un tunneling SSH local pour transférer le port du serveur Web vers le serveur distant. Voici un exemple:

ssh -l [local_port]: [Remote_host]: [Remote_port] [utilisateur @] hostname -p [port]
1ssh -l [local_port]: [Remote_host]: [Remote_port] [utilisateur @] hostname -p [port]

Voici ce que fait chaque partie de la commande:

  • -L [local_port]: [Remote_host]: [Remote_port]: Spécifie le numéro de port local à utiliser pour le tunnel SSH (local_port), l'hôte distant et le numéro de port à se connecter via le tunnel SSH (Remote_host: Remote_port).
  • [[e-mail protégé]] Nom d'hôte: Le serveur distant auquel vous souhaitez vous connecter. Vous pouvez spécifier le nom d'utilisateur à utiliser pour la connexion avant le nom d'hôte, comme ceci: [Protégé par e-mail]
  • -p [port]: Le numéro de port à utiliser pour la connexion SSH. Par défaut, SSH utilise le port 22, mais vous pouvez spécifier un autre numéro de port si nécessaire.

Par exemple, si vous vouliez configurer un tunnel SSH sur le port 8080 Pour accéder à un serveur Web sur un serveur distant avec l'adresse IP 192.168.1.100, Vous utiliseriez la commande suivante:

SSH -L 8080: LocalHost: 80 [Protégé par e-mail] -p 22  

Cette commande configure un tunnel SSH qui mappe le port local 8080 au port du serveur distant 80, vous permettant d'accéder au serveur Web du serveur distant sur votre machine locale en naviguant vers «http: // localhost: 8080» dans votre navigateur Web.

Configurez le tunnel SSH distant

Le tunneling SSH à distance est utilisé pour transférer un port distant vers une machine locale. Par exemple, si vous avez un serveur de base de données exécutant sur un serveur distant auquel vous souhaitez accéder à partir de votre machine locale, vous pouvez utiliser un tunneling SSH distant pour transférer le port du serveur de base de données vers votre machine locale. Voici un exemple:

SSH -R 3306: LocalHost: 3306 [Protégé par e-mail]  

Cette commande transfère le port 3306 sur le serveur distant vers le port 3306 sur votre machine locale. Vous pouvez ensuite vous connecter au serveur de base de données en cours d'exécution sur le serveur distant en vous connectant à LocalHost: 3306 sur votre machine locale.

Configurez le tunnel SSH inversé

Le tunneling SSH inversé est utilisé pour permettre à un serveur distant de se connecter à une machine locale. Par exemple, si vous disposez d'une machine locale exécutant un serveur Web auquel vous souhaitez autoriser l'accès à partir d'un serveur distant, vous pouvez utiliser la tunneling SSH inversé pour créer une connexion sécurisée entre les deux machines. Voici un exemple:

Sur votre machine locale, exécutez la commande suivante:

SSH -R 8080: LocalHost: 80 [Protégé par e-mail] 

Cette commande transfère le port 8080 sur le serveur distant au port 80 sur votre machine locale. Vous pouvez ensuite accéder au serveur Web en cours d'exécution sur votre machine locale en vous connectant à http: //.com: 8080.

En utilisant des tunnels SSH, vous pouvez accéder solidement aux ressources sur des serveurs distants et des ports à terme entre les machines sans les exposer à Internet public.

Gardez le tunnel SSH actif

N'oubliez pas que les tunnels SSH nécessitent une connexion active au serveur distant afin de rester ouvert. Si la connexion est interrompue pour une raison quelconque, le tunnel sera fermé et vous devrez le remettre en place.

Pour éviter cela, vous pouvez utiliser un outil comme Autossh, qui reconnecte automatiquement le tunnel SSH si la connexion est perdue.

Conclusion

La configuration d'un tunnel SSH sur Linux peut être un moyen utile de protéger votre confidentialité et votre sécurité en ligne. En utilisant la commande ssh, vous pouvez facilement créer un tunnel sécurisé sur un serveur distant et acheminer votre trafic Internet à travers. En suivant les étapes