Recherche de site Web

Activer la redirection de port SSH sous Linux


La plupart des utilisateurs de Linux connaissent le protocole SSH car il permet la gestion à distance de n’importe quel système Linux. Il est également couramment utilisé pour SFTP pour télécharger ou charger des fichiers. SSH est connu comme un protocole très sécurisé car il crypte le trafic de bout en bout. Mais les tunnels cryptés qu’il crée sont en fait assez polyvalents et peuvent être utilisés pour plus que la gestion de serveurs à distance ou le transfert de fichiers.

La redirection de port SSH peut être utilisée pour chiffrer le trafic entre deux systèmes pour à peu près n’importe quel protocole. Pour ce faire, il crée un tunnel sécurisé, puis achemine le trafic d’un autre protocole à travers ce tunnel. Par principe, il fonctionne de manière très similaire à un VPN.

Dans ce guide, nous allons passer en revue les instructions étape par étape pour vous montrer comment utiliser la redirection de port SSH pour créer un tunnel sécurisé pour une autre application. À titre d’exemple, nous allons créer une redirection de port pour le protocole telnet, qui est généralement évitée en raison de la façon dont il transfère les données en texte clair. Cela sécurisera le protocole et le rendra sûr à utiliser.

Dans ce tutoriel, vous allez apprendre :

  • Comment utiliser la redirection de port SSH
  • Comment créer un tunnel SSH persistant

Création d’un tunnel SSH via la redirection de port sous Linux

Comment utiliser la redirection de port SSH

La redirection de port SSH fonctionne en transférant le trafic d’un port spécifique de votre système local vers un port du système distant. Il n’est pas nécessaire que les deux ports soient identiques. À titre d’exemple, nous allons rediriger le port 4500 de notre système local vers le port 23 (telnet) d’un système distant.

Vous n’êtes pas obligé de le faire en tant que racine. Étant donné que nous utilisons un port supérieur à 1024, un utilisateur ordinaire est en mesure de créer cette connexion de transfert de port. Gardez à l’esprit qu’un tunnel n’est érigé que lorsque la connexion SSH est en cours d’exécution.


ssh -L 4500:127.0.0.1:23 user@linuxconfig.org

Disséquons ce qui se passe dans cette commande.

  • -L – Cette option indique à SSH que nous voulons créer un tunnel via la redirection de port.
  • 4500 – Le port de notre système local par lequel nous enverrons le trafic.
  • 127.0.0.1 – Il s’agit de l’adresse de bouclage de notre système local.
  • 23 – Le port distant auquel nous essayons de nous connecter.
  • user – Le nom d’utilisateur pour se connecter à SSH sur le serveur distant.
  • linuxconfig.org : adresse IP ou nom de domaine du serveur distant.

À ce stade, chaque connexion qui utilise le port 4500 sur l’hôte local sera redirigée vers le port distant 23.

Création du tunnel SSH du port local 4500 vers le port distant 23

Dans la capture d’écran ci-dessus, nous avons réussi à créer un tunnel vers le serveur distant. Comme vous pouvez le voir, cela ressemble à une connexion SSH typique. Mais maintenant, sur notre système local, nous pouvons accéder au service telnet du système distant en acheminant le trafic via le port 4500.


telnet 127.0.0.1 4500

Nous allons ouvrir un nouveau terminal et l’essayer sur notre système de test, tout en laissant l’autre terminal ouvert pour qu’il maintienne notre tunnel SSH.

Utilisation de telnet pour se connecter à un serveur distant et routage du trafic via SSH pour la sécurité

Comme vous pouvez le voir, nous avons maintenant une session telnet ouverte sur le serveur distant, mais il s’agit d’une connexion sécurisée puisqu’elle est envoyée via le tunnel SSH existant que nous avons établi dans l’autre terminal.

C’est tout ce qu’il y a à faire. Vous pouvez utiliser des tunnels SSH pour tout type de trafic. Ce qu’il faut retenir, c’est que vous devez pointer votre application vers votre adresse localhost (127.0.0.1) et le numéro de port que vous configurez pour le tunnel SSH.

Comment créer des tunnels SSH persistants

Vous avez peut-être remarqué que pour les tunnels SSH à long terme, il est plutôt gênant qu’ils reposent sur notre connexion SSH ouverte. S’il y a une latence temporaire ou si le terminal SSH atteint simplement son délai d’expiration, le tunnel est arrêté en même temps que la session SSH.

Vous pouvez installer l’utilitaire autossh avec le gestionnaire de paquets de votre système si vous souhaitez créer un tunnel qui se remet automatiquement en place lorsqu’il tombe en panne. Pour que cette méthode fonctionne, vous devez avoir configuré les clés RSA pour SSH sans mot de passe.

La syntaxe de construction d’un tunnel persistant est fondamentalement identique à la méthode SSH normale.


autossh -L 4500:127.0.0.1:23 user@linuxconfig.org

Réflexions finales

Dans ce guide, nous avons vu comment utiliser la redirection de port SSH sous Linux. Cela permet à un utilisateur de créer un tunnel SSH sécurisé qui peut être utilisé par d’autres applications et protocoles pour des connexions chiffrées à des serveurs distants. À titre d’exemple, nous avons vu comment le protocole telnet pouvait être sécurisé par la redirection de port SSH. Nous avons également appris à maintenir la persistance des tunnels SSH à l’aide de l’utilitaire autossh.

Articles connexes: