Une question assez ancienne, mais voyez si cette page peut vous aider à l'expliquer, elle contient de jolies images et tout. :)
https://www.ssh.com/ssh/tunneling/
Fondamentalement, un tunnel SSH est un tunnel qui peut être utilisé pour transférer (tunneler) des données d'un endroit à un autre, de manière chiffrée.
Il est également couramment utilisé pour router le trafic (via un tunnel, pensez à un trou de ver) vers un autre endroit, ce qui permet des choses comme le contournement d'un pare-feu ou la redirection du trafic (transfert de port chiffré).
Disons qu'il y a un pare-feu entre vous et le serveur. Le serveur peut accéder à un autre serveur (serveur2) sur son réseau interne.
[client]--------||------[server]----[sever2]
Disons que vous voulez accéder à un serveur web sur serveur2, et pour des raisons évidentes vous ne pouvez pas le faire directement. Disons que le port 22 (ssh) est ouvert sur le pare-feu. Donc ce que nous ferions, c'est créer un tunnel SSH (sur serveur) de serveur à serveur2. Cela signifie que tout trafic (sortant ?) sur le port 22 sera envoyé, via ce tunnel, de serveur:22 -> serveur2:80.
[client]--------||------[server:22]======[sever2:80]
Donc (tel que je le comprends), si nous nous connectons à serveur:22, cela devrait rediriger le trafic sur le port 22 vers le serveur web sur serveur2:80
en utilisant ce nouveau tunnel SSH. (tel que je le comprends, les données ne sont chiffrées que dans le tunnel, donc à la fin ce seront des données déchiffrées, si vous vous demandez si serveur:80 doit être SSL).
Je suppose d'une certaine manière que l'utilisation de SSH est en soi un tunnel SSH pour votre vieille communication telnet
. C'est juste que la plupart du temps, lorsque vous entendez parler de tunnels SSH, les gens font référence à la fonctionnalité de (transfert sécurisé de) port qu'il offre, sans avoir à accéder à l'administrateur du pare-feu, ce qui est une petite fonction pratique que beaucoup de pirates aiment utiliser pour contourner la sécurité.
Pour des raisons plus légitimes ; c'est une excellente façon de relayer certains trafics vers un serveur interne qui fonctionne sur un port différent, si vous êtes limité par un pare-feu et ainsi de suite, ou si vous voulez sécuriser le trafic entre deux machines (comme le fait le programme SSH).
J'espère que cela vous aidera.
ÉDITION
J'ai trouvé cela sur le SO UNIX https://unix.stackexchange.com/questions/46235/how-does-reverse-ssh-tunneling-work, de nombreux réponses avec des explications très claires (et illustrées) de ce dont vous avez besoin!