Créer un tunnel SSH

Certains sites Internet ne sont accessibles que depuis certains ordinateurs, serveurs ou domaines très précis. Par exemple, pour accéder à l'Intranet de l'ENS, on doit se connecter depuis l'un des ordinateurs de l'École. Cette contrainte permet d'être certain que seules les personnes autorisées pourront accéder à certaines données, après s'être préalablement identifiées au moyen d'un mot de passe.

Mais cet avantage a un inconvénient. Si vous êtes à l'étranger, ou si vous êtes tout simplement chez vous et ne pouvez vous rendre physiquement devant les ordinateurs en question, ces ressources vous sont inaccessibles...

Heureusement, il existe la technique du tunnel SSH. Celle-ci consiste à « creuser un tunnel » entre votre connexion et un serveur autorisé pour y faire passer les informations de manière sécurisée. En d'autres termes, vous allez :

  1. ouvrir une connexion sécurisée avec ce serveur (par exemple clipper, à l'ENS) ;
  2. dire à votre navigateur de se brancher sur cette connexion ;
  3. vous connecter à des sites comme si vous étiez sur ce serveur.
Pour pouvoir ouvrir un tunnel SSH avec l'ENS, vous devez disposer d'un compte sur les machines de l'École.

Ouvrir le tunnel

Nous allons commencer par ouvrir le tunnel. La façon de procéder dépend du système d'exploitation que vous utilisez.

Depuis Linux ou Mac OS X

Depuis Linux ou tout autre dérivé d'UNIX (BSD, Solaris, Mac OS X, etc.), la procédure est sans doute la plus simple.

  1. Ouvrez un terminal, c'est-à-dire une fenêtre en mode texte permettant de taper des lignes de commande.
    Sous Mac OS X, pour ouvrir un terminal, allez dans Finder > Applications > Utilitaires > Terminal.
  2. Quand le terminal est ouvert, tapez dedans la ligne de commande suivante :
    toto@ordinateur $ ssh -N -T -L 3128:www-cache.ens.fr:3128 monlogin@clipper.ens.fr
    Attention !
    1. Ne tapez pas la partie « toto@ordinateur $ », qui est l'invite de commande ;
    2. remplacez « monlogin » par votre identifiant (login).
  3. Une connexion avec l'ENS va s'établir, en ouvrant un tunnel SSH. Donnez votre mot de passe. La première fois, on vous demandera si vous acceptez la clef SSH : répondez « Yes ».
    Petite explication technique : la commande indiquée plus haut demande au serveur www-cache.ens.fr de nous envoyer ce qu'on lui demande par son port 3128 sur notre port 3128.

Depuis Windows

Pour ouvrir un tunnel SSH depuis Windows, vous aurez besoin du logiciel PuTTY. Commencez par le télécharger à l'adresse http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.

La première fois

Ouvrez le programme Putty.exe.

Remplissez les champs suivants :

  1. dans l'onglet « Session » :
    1. Host name (or IP address) : clipper.ens.fr
    2. Port : 22
    3. Protocole : SSH
    4. Saved sessions : ENS par tunnel SSH
  2. dans l'onglet « SSH », puis « Tunnel »
    1. X display location : localhost:3128
    2. Source port : 3128
    3. Destination : www-cache.ens.fr:3128
    4. cliquer sur « Add »
  3. dans l'onglet « Session » :
    1. cliquer sur « Save ».

Les fois suivantes

Désormais, pour ouvrir le tunnel SSH, il vous suffira de cliquer deux fois sur « ENS par tunnel SSH ». Donnez votre identifiant (login) et votre mot de passe. La première fois, on vous demandera si vous acceptez la clef SSH : répondez « Yes ».

Depuis Mac OS (antérieur à Mac OS X)

À remplir...

Emprunter le tunnel

Vous avez maintenant ouvert le tunnel. Le signe qu'il est ouvert, c'est la fenêtre de terminal ouverte.

Il reste à emprunter le tunnel. Pour cela, vous devrez configurer votre navigateur pour lui dire d'utiliser le proxy localhost avec le port 3128.

Nous ne pouvons pas faire l'inventaire de tous les navigateurs qui existent, alors voici simplement comment faire pour les principaux.

  1. Allez dans les options de votre navigateur :
    1. avec Firefox : Edit > Preferences > Connexion settings
    2. avec Internet Explorer : Outils > Options Internet > onglet « Connexions » > bouton « Paramètres réseau » > cocher la case « Utiliser un serveur proxy pour votre réseau local »
  2. Indiquez à votre navigateur que vous voulez utiliser un proxy :
    1. adresse : localhost
    2. port : 3128
    Si le navigateur vous demande seulement une adresse (non un numéro de port), donnez localhost:3128.
  3. Maintenant, le tunnel est ouvert, et votre navigateur est disposé à l'emprunter. Demandez-lui d'aller à l'adresse http://www.intranet.ens.fr pour vérifier son bon fonctionnement.

Reboucher le tunnel

Quand vous empruntez un tunnel, en règle générale, n'oubliez pas d'en sortir...

Dans le cas d'un tunnel SSH, il suffit pour cela de :

  1. retourner dans les options de votre navigateur, et de lui indiquer de ne pas utiliser de proxy.
  2. fermer la fenêtre de terminal avec laquelle vous avez ouvert le tunnel.

Quelques sites accessibles depuis l'ENS

Voici quelques-uns des sites dont l'accès est restreint à l'ENS :

Auteur : Baptiste Mélès. Dernière modification le .