Utiliser un tunnel SSH – voici comment faire

Un tunnel SSH établit une connexion avec un serveur distant, mais via une station intermédiaire. Par exemple, si le site example.com est bloqué sur votre réseau, vous accédez à un serveur SSH qui se connecte à example.com et le redirige vers vous. Grâce à un tunnel SSH inversé, le processus est inversé. Cela semble déroutant, mais avec un peu d'explications et des exemples, c'est très simple.

  • Qu'est-ce qu'un tunnel SSH?
  • Utiliser le tunnel SSH dans le terminal
  • Utiliser le tunnel SSH sous Windows
  • Utiliser le tunnel SSH inversé

Qu'est-ce qu'un tunnel SSH?

Vous pouvez lire ici ce qu'est exactement SSH. En bref : Avec SSH (Secure Shell), vous établissez une connexion cryptée avec un ordinateur distant (serveur SSH) et pouvez ensuite y travailler - comme si vous étiez vous-même assis devant cet ordinateur distant. La condition préalable numéro 1 pour un tunnel SSH est donc un serveur SSH. Pour tester, vous pouvez également utiliser des appareils de votre réseau domestique. Mais cela ne devient vraiment utile que si vous pouvez utiliser un serveur sur Internet ; par exemple, de nombreux fournisseurs d'espace web proposent également une option SSH. Condition préalable numéro 2 : le serveur SSH doit également être configuré de manière à autoriser les tunnels SSH.

Un tunnel signifie que les données d'un ordinateur tiers, par exemple un site web, sont demandées par le serveur SSH et transmises à votre ordinateur local via la connexion SSH. Supposons que votre administrateur réseau ait bloqué le site web "example.com". Mais vous pouvez accéder à votre serveur SSH "ssh.meinsshserver.de" - et celui-ci peut également accéder à "example.com". Vous dites alors à votre serveur SSH de diriger "exemple.com" vers votre ordinateur local - et vous pouvez alors le consulter dans votre navigateur. Mieux encore : les connexions SSH sont cryptées, ce qui signifie que personne ne peut voir quelles données, ici le site web de "example.com", vous consultez.

La situation est similaire pour un tunnel inversé : Supposons que vous ayez un serveur en cours d'exécution sur votre ordinateur, par exemple un serveur web - ou tout simplement le centre multimédia Kodi, qui est également accessible via le navigateur. Vous souhaitez maintenant y accéder depuis un troisième ordinateur. Mais votre ordinateur Kodi n'est pas équipé d'une adresse IP propre, vous ne pouvez donc pas y accéder facilement. Mais vous pouvez tout à fait diriger l'affichage du navigateur de Kodis vers le troisième ordinateur via le serveur SSH.

Plus précisément : l'interface web de Kodis se trouve localement dans le navigateur sous "127.0.0.1:8080", ou "localhost:8080". Le "127.0.0.1" désigne simplement l'ordinateur local et le "8080" le port, une sorte de numéro de maison, sous lequel l'interface web peut être trouvée. Ce port 8080 est redirigé vers un port (presque) quelconque du serveur SSH. Cela signifie que ce que l'on voit sous "127.0.0.1:8080" est alors également visible sous "ssh.monsshserver.fr:9000", par exemple. Et comme le serveur SSH est accessible normalement via Internet, vous pouvez finalement accéder à votre ordinateur domestique depuis un troisième ordinateur via SSH.

Les exemples simplifient les choses. Et comme tout le monde ne dispose pas d'un serveur SSH correctement configuré, notre exemple fonctionne sur le réseau domestique. Il vous faudrait : Un ordinateur Windows ou Linux et un autre périphérique réseau avec un serveur SSH configuré par défaut. Il s'agirait par exemple d'un Raspberry Pi, d'un NAS, d'un autre ordinateur - au besoin, simplement d'une machine virtuelle avec Ubuntu par exemple. Dans l'exemple, les appareils suivants sont utilisés : "192.168.69" comme serveur SSH, "192.168.178.75:8080" comme interface web NAS pour le tunnel et "127.0.0.1:8080" comme interface Kodi pour le tunnel inversé. Le nom d'utilisateur sur le serveur SSH est "linaro", le port attribué "9000".

Sous Linux, les outils sont disponibles par défaut, sous Windows 10 également. Pour en savoir plus sur SSH sous Windows 10, cliquez ici. Sous Windows 7 et Windows 8, vous devez vous équiper pour la ligne de commande. Cela est possible par exemple avec Git for Windows, qui installe un terminal semblable à Linux.

Il s'agit tout d'abord d'accéder à l'interface Kodi sur le troisième ordinateur depuis l'ordinateur local via le serveur SSH. Tapez la commande suivante dans le terminal:

ssh [email protected] -L 9000:192.168.178.75:8080
Une connexion SSH tout à fait normale est d'abord établie avec l'utilisateur "linaro" vers le serveur SSH. L'option "L" lance ensuite le tunnel : Le port local "9000" suit d'abord, puis l'adresse de l'interface web du NAS "192.168.178.75:8080". Suit la demande de mot de passe. Ensuite, vous pouvez entrer "127.0.0.1:9000" dans le navigateur de l'ordinateur local et vous verrez ce qui est également visible sous "192.168.75:8080". Tant que les appareils se trouvent tous dans un réseau, vous pouvez bien sûr utiliser n'importe quelle adresse IP. Sur Internet, il faudrait bien sûr utiliser l'adresse IP du serveur SSH.

Le terminal n'est pas le moyen naturel pour les utilisateurs de Windows - ici, on le fait avec PuTTY. Ouvrez PuTTY et indiquez simplement dans la fenêtre de démarrage, sous "Host Name", l'adresse IP du serveur SSH, ici donc "192.168.178.69". En option, vous pouvez encore donner un nom à la session et l'enregistrer. Passez maintenant à "Connection/SSH/Tunnels". Geben Sie hier als "Source Port" den frei gewählten Port "9000" ein und als "Destination" die NAS-Weboberfläche, also "192.168.178.75:8080".