PRATIQUE OUTILS 
Etablir un tunnel SSH
 
Utiliser PuTTY pour créer un renvoi de port sécurisé depuis sa machine Windows vers une machine distante et connue. (15/02/2006)
  Forum

Réagissez dans les forums de JDN Développeurs

En théorie
La plupart des accès réseau sont aujourd'hui bien protégés, à commencer par ceux d'une entreprise. La fermeture de certains ports non nécessaires est une chose courante, et les logiciels pare-feu peuvent se révéler très restrictifs sans que l'on n'y puisse rien.

Il peut cependant arriver de devoir accéder à des ressources extérieures malheureusement bloquées par un routeur pas assez permissif. C'est dans ces cas-là qu'un tunnel SSH trouve son utilité. Egalement, on peut utiliser SSH pour crypter ses envois d'informations en clair (par exemple lorsque l'on utilise SMTP, rsync ou VNC [lire nos articles du 04/01/06 et du 08/02/06]), ou plus largement pour crypter toutes ses communications.

SSL est en effet un protocole de communication sécurisé. Il est standardisé sous le nom de TLS [lire notre article du 19/07/05], mais SSL reste l'appellation la plus courante. Un tunnel SSH consiste en un accès sécurisé par connexion TCP entre deux points d'un réseau. Ce tunnel autorise l'encryptage de toutes les données qu'il transporte.

En pratique, un tunnel SSH prend en charge toutes les données envoyées par un port TCP précis de la machine émettrice, les crypte et les envoie à une machine distante. Celle-ci décrypte les données et les rend accessible à l'un de ces ports, ou une autre machine, et les renvoie par le port designé.

L'interface de PuTTY
Mise en application avec PuTTY
L'une des implémentations SSH les plus réputées reste OpenSSH. Sous Windows, PuTTY est la norme : il combine, dans un même outil gratuit, des implémentation Telnet et SSH. PuTTY est conçu pour simplement et rapidement mettre en place un tunnel SSH depuis une machine Windows vers une machine tierce.

Commencez par choisir le port de votre machine dont PuTTY devra écouter les connexions (supérieur à 1000 de préférence, voire 3000 pour éviter tout conflit), ou 127.0.0.1 (adresse loopback).

Ensuite, dans le sous-menu Connection/SSH/Tunnels, entrez le port choisi dans le champ Source Port. Entrez également l'adresse de la machine distance et le port de cette machine que vous visez, séparés par un deux-points (par exemple, 255.254.253.252:21). Cliquez sur Add pour ajouter ce port à la liste. Le tunnel est configuré.

Cliquez maintenant sur le bouton Open, en bas de l'interface de PuTTY. Connectez-vous : quand l'interface vous les demande, entrez vos identifiant et mot de passe. Ceux-ci correspondent à votre accès à la machine distante.

Ceci fait, vous êtes connecté. Toute transmission de données par le port que vous avez désigné sur votre machine passera par le tunnel pour être traité par le port de la machine distante. Pour peu que vous ayez un serveur FTP ou mail accessible en SSH sur la machine distante, vous pouvez maintenant y accéder via le tunnel SSH, si vous précisez le bon port.

Les ports distants vous permettent de gérer précisément vos accès protégés. Choisissez le port 80, et vous pourrez surfer le Web en utilisant la machine distante comme proxy. Utilisez le port 22, vous travaillerez avec les outils SSH de cette machine. Le port 110, vous accédez à son serveur mail. A vous de savoir ce à quoi vous avez accès sur cette machine distante.
 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page