Choix de la langue :
STM 2.1.3

SSH Tunnel Manager est un utilitaire permettant de gérer des tunnels SSH (créés en général avec les arguments -L et -R de la commande "ssh"). Cet outil vous permet de définir autant de tunnels que vous le désirez, chacun contenant toutes les redirections de port dont vous avez besoin. Une fois configuré, vous avez juste à lancer, ou arrêter vos tunnels.

Que sont les tunnels SSH ?

Le principe des tunnels SSH Tunnels est de permettre d'atteindre des machines auxquelles vous n'avez pas normalement accès, par exemple, des machines sur un réseau local à votre entreprise ou derrière un firewall. Cependant, attention à la méprise, ce n'est pas un outil de pirate ! Vous verrez qu'il vous faut un accès à une machine connectée au réseau que vous voulez atteindre (en général un firewall). SSH peut créer deux types de tunnels, appelé "redirections locales" et "redirections distantes".

Redirections locales

Elles vous permettent de joindre des hôtes derriere un firewall, sur un réseau privé en encapsulant des informations dans une connexion SSH vers un serveur (ce dernier doit avoir la possibilité de joindre l'hôte final).


Redirections locales

Dans cet exemple, imaginez un serveur web tournant sous Mac OS (Oui, c'est pas terrible...). Vous ne pouvez pas joindre cette machine de l'exterieur car elle n'a pas d'IP publique (Nous n'entrerons pas dans les considérations de NAT ou PAT). Vous allez donc ouvrir une connexion SSH vers le firewall qui prendra en charge les requêtes qui vous intéressent, comme rediriger toutes les requêtes vers un port local (par exemple 8080), vers le port 80 du serveur Mac OS 9. La commande SSH sera construite ainsi :
ssh -N -L 8080:os9.server.lan:80 user@firewall.entreprise.com

En bon français : Redirige le port 8080 local vers firewall.entreprise.com, et indique lui d'envoyer la connexion vers os9.serveur.lan, sur le port 80

-Npermet de gérer uniquement le tunnel, nous n'avons pas beoin d'un shell
-Lprécise le type de tunnel (redirection locale)
8080est le port local à utiliser
os9.serveur.lanest l'hôte final, joignable par le firewall
80est le port sur l'hote final à atteindre
userest l'utilisateur sous lequel ouvrir la connexion
firewall.entreprise.comest le serveur par lequel nous passons.

Maintenant, pour se connecter sur le serveur web de la machine Mac OS 9, nous tapons ceci dans notre navigateur : http://127.0.0.1:8080/

Ce n'est pas de la magie, c'est juste SSH

Redirection de port distante

Le principe est le même, l'approche est différente, cette fois nous allons rediriger les connexions faites sur un hote distant vers une machine de notre propre réseau (ou notre propre machine).


Redirection distante

Imaginons maintenant que nous avons un serveur de test sur notre réseau local (et comme on ne change epas une équipe qui gagne, reprenons notre serveur sous MacOS 9 - vous vous souvenez de NetPrensz ?-). Vous voudriez que votre client accède à ce serveur pour lui montrer le super site qui le fera devenir riche (vous aussi par la meme occasion). Tout ce que vous devez faire est ouvrir un tunnel d'une machine qui peut joindre les deux (le serveur public vers lequel votre client va se connecter, et le serveur de développement hébergeant le site).

La ligne de commande sera la suivante : ssh -N -R 8080:os9.serveur.lan:80 user@serveur.entreprise.com

En bon français : Indique à serveur.entreprise.com de rediriger le port 8080 vers moi, et renvoie le à os9.serveur.lan, sur le port 80.

-Npermet de gérer uniquement le tunnel, nous n'avons pas beoin d'un shell
-Rprécise le type de tunnel (redirection distante)
8080est le port distant à utiliser
os9.server.lanest la machine de développement sur votre réseau local
80est le port à utiliser sur cette machine.
userest l'utilisateur sous lequel se connecter.
serveur.entreprise.comest le serveur public sur lequel votre client se connectera.

Maintenant, votre client doit se connecter sur :

http://serveur.entreprise.com:8080/

Il sera redirigé vers le serveur MacOS 9 sur le port 80

Comment SSH Tunnel Manager fonctionne ?

Il se contente de lancer la commande SSH avec les bons arguments, comme si vous le faisiez à la main. Bien sûr, vos tunnels et réglages sont enregistrés dans vos préférences.

Comment l'utiliser ?

Lancer l'application et ouvrez les préférences (Pomme-,).
C'est ici que vous gérer les tunnels. Choisissez "Ajouter..." dans le menu en haut, et renseignez les informations relatives à l'adresse et l'authentification.

Si nous applicons notre exemple :

Redirection de ports locale


Configuration d'un tunnel local

Redirection de port distante


Configuration de redirection distante

Limitations

Oui, vous ne pouvez pas encore ouvrir de tunnel utilisant un port local inférieur à 1024 car l'authentification en root n'est pas implémentée (Pour information, sur la pluspart des Unix, l'utilisateur "root" est le seul habilité à utiliser ces ports).

Contacts

Envoyez vos commentaires ou demandes d'informations à SSHTunnelManager@tynsoe.org (Merci !)