105 votes

Quelqu'un peut-il expliquer le tunnel SSH de manière simple?

Bien que j'utilise quelques alias pour faire un ssh tunnel ou un tunnel inverse, je ne comprends jamais comment cela fonctionne. Est-ce que quelqu'un sait comment l'expliquer de manière très simple ?

Je pense que les 3 utilisations principales sont :

Tout d'abord, je peux utiliser mon ordinateur personnel pour me connecter en ssh à foo.mycompany.com, sans utiliser de mot de passe (foo est un serveur au travail)

  1. Comment faire en sorte que foo.mycompany.com:8080 aille sur le localhost:3000 de mon ordinateur personnel ?

  2. Si je suis à la maison, je ne peux pas accéder à http://bar.mycompany.com, mais foo peut accéder à bar, comment faire en sorte que l'ordinateur personnel puisse accéder à http://bar.mycompany.com ?

  3. Si je suis à la maison, je ne peux pas accéder à la base de données MySQL à db.mycompany.com, mais foo le peut, comment rendre possible l'accès à db.mycompany.com également en utilisant un tunnel ssh.

Est-ce que cela peut être expliqué en termes très simples ? Y a-t-il en fait d'autres utilisations populaires en dehors de ces 3 ? Merci.

0voto

user3130351 Points 29

Dans la plupart des cas, vous n'avez pas accès public à votre réseau privé. Votre routeur n'est pas public, mais fait partie d'un segment réseau d'un fournisseur d'accès Internet, donc il n'est pas accessible depuis l'extérieur ; vous ne pouvez faire que des demandes sortantes. Ainsi, vos ordinateurs derrière le routeur ne peuvent pas être accessibles depuis l'extérieur, ni directement, ni via une quelconque translation d'adresse IP qui pourrait être configurée sur le routeur.

Heureusement, SSH (protocole de réseau shell sécurisé, natif à Unix/Linux, disponible pour Windows) fournit un mécanisme direct pour configurer un tunnel réseau permettant de contourner les restrictions ci-dessus. enter image description here

Énumérons les étapes pratiques :

Étape

  • 1A : Activer l'accès aux ports sur le serveur public
  • Étape 1B : Autoriser le renvoi de port sur le serveur public
  • Étape 2 : Établir des tunnels sur l'hôte privé
  • Étape 3 : Tester les tunnels
  • Facultatif : Automatiser la création du tunnel
  • Facultatif : Nettoyer avant de lancer
  • Facultatif : Maintenir les sessions SSH actives

Consultez les détails ici.

-12voto

anm Points 1057

Lisez la page de l'homme, en particulier les options -L, -R et -D. Je ne pense pas qu'il soit utile que quelqu'un réécrive ceci et introduise éventuellement des erreurs. Si vous ne le comprenez pas, vous pourriez poser des questions plus spécifiques.

-D donne un proxy SOCKS, qui est une autre application utile du tunnel SSH.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X