Afficher Sommaire / Index / Recherche

Transfert de port distant

Utilisez le transfert de port distant pour transférer des données en toute sécurité à partir d'une application client s'exécutant sur le serveur hôte Secure Shell. Pour paramétrer le transfert de port distant, vous devez désigner un port distant arbitraire à utiliser pour le transfert des données, ainsi qu'un hôte et un port de destination pour la réception des données. Le principe du transfert de port distant est le suivant :

  1. Une fois la connexion Secure Shell établie, le serveur Secure Shell ouvre un socket d'écoute sur le serveur hôte Secure Shell avec le port d'écoute spécifié.
  2. Une application client s'exécutant sur le serveur Secure Shell est configurée pour se connecter au port d'écoute (et non directement à l'application et au port du serveur hôte). Lorsque le client établit une connexion, toutes les données sont envoyées au port d'écoute, puis redirigées vers le serveur Secure Shell.
  3. Ce dernier chiffre les données et les envoie au client Secure Shell par le tunnel SSH.
  4. Le client Secure Shell reçoit les données, les déchiffre et les redirige vers l'hôte et le port de destination (sur le client hôte Secure Shell) utilisés par l'application serveur.
  5. Les données renvoyées par l'application serveur sont dirigées vers le client Secure Shell qui les chiffre et les envoie en mode sécurisé au serveur Secure Shell via le tunnel SSH. Le serveur Secure Shell déchiffre les données et les redirige vers l'application client initiale.

 

La syntaxe de ligne de commande générale pour le transfert de port distant est la suivante :

ssh -R port_écoute:app_hôte:port_hôte utilisateur@serveurssh

 

Le diagramme suivant illustre une des configurations possibles de transfert de port distant.

Transfert de port distant

L'application serveur et le client Secure Shell s'exécutent sur l'hôte A. Le serveur Secure Shell et l'application client s'exécutent sur l'hôte B. Toutes les données envoyées au port 2222 de l'hôte B sont transférées vers le port 222 de l'hôte A. Dans cette configuration, toutes les données échangées sont chiffrées. La commande suivante applique cette configuration :

ssh -R 2222:localhost:222 utilisateur@HôteB