tuteurs.ens.fr/www/internet/loin/tunnel.tml

335 lines
13 KiB
XML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Tunnel SSH</title>
</head>
<body>
<h1>Créer un tunnel SSH</h1>
<p>
Certains sites Internet ne sont accessibles que depuis certains
ordinateurs, serveurs ou domaines très précis. Par exemple, pour accéder
à certains articles de revues par l'abonnement 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.
</p>
<p>
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...
</p>
<p>
Heureusement, il existe la technique
du <strong>tunnel SSH</strong>. 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 :
</p>
<ol>
<li>ouvrir une connexion sécurisée avec ce serveur (par exemple
sas.eleves.ens.fr, à l'ENS) ;</li>
<li>dire à votre navigateur de se brancher sur cette
connexion ;</li>
<li>vous connecter à des sites comme si vous étiez sur ce
serveur.</li>
</ol>
<div class="attention">Pour pouvoir ouvrir un tunnel SSH avec
l'ENS, vous devez disposer d'un compte sur les machines de
l'École.</div>
<h2>Ouvrir le tunnel</h2>
<p>
Nous allons commencer par ouvrir le tunnel. La façon de procéder dépend
du système d'exploitation que vous utilisez.
</p>
<h3>Avec Linux ou Mac OS X</h3>
<p>Avec Linux ou tout autre dérivé d'UNIX (BSD, Solaris, Mac OS X,
etc.), la procédure est sans doute la plus simple. Suivez les étapes
suivantes pour mettre en place un tunnel SOCKS entre votre machine et la machine distante.</p>
<ol>
<li><strong>Ouvrez un terminal</strong>, c'est-à-dire une fenêtre en mode
texte permettant de taper des lignes de commande.
<div class="encadre">
Sous <strong>Mac OS X</strong>, pour ouvrir un
terminal, allez dans Finder &gt; Applications &gt;
Utilitaires &gt; Terminal.</div>
</li>
<li>
Quand le terminal est ouvert, tapez dedans la <strong>ligne de
commande</strong> suivante (faites un copier-coller si vous
voulez être sûr de ne pas faire d'erreur) :
<pre><span class="prompt">toto@ordinateur $</span> ssh -ND 3128 <strong><em>monlogin</em></strong>@sas.eleves.ens.fr</pre>
<div class="attention">
Attention !
<ol>
<li>Ne tapez pas la partie
« <strong>toto@ordinateur</strong> $ », qui est
l'invite de commande ;</li>
<li>remplacez
« <strong><em>monlogin</em></strong> » par votre
identifiant (<em>login</em>).</li>
<li>Cette commande ne va rien afficher, il y a aura juste un curseur qui clignote. C'est normal, et cela veut dire que la connexion est active. Vous pouvez alors passer à la suite, et lorsque vous voudrez fermer le tunnel pour vous déconnecter, vous n'aurez qu'à faire Ctrl+C. Pour avoir une sortie plus détaillée, vous pouvez rajouter l'option -v à la commande précédente.</li>
</ol>
</div>
</li>
<li> Une connexion avec l'ENS va s'établir, en ouvrant un
tunnel SSH. Donnez votre <strong>mot de passe</strong>. La
première fois, on vous demandera si vous acceptez la clef SSH,
afin d'éviter toute tentative d'usurper l'identité de la
machine distante&nbsp;: vérifiez que le fingerprint indiqué
est bien "d2:2f:2d:e6:22:17:16:1c:54:5f:e3:9a:0b:88:db:37" ou
"e9:54:4a:e6:f8:51:e9:8b:90:d5:c9:b6:24:c0:4e:60" ou
"2d:fe:8f:d2:10:1e:5d:7f:aa:d0:0f:d4:70:3e:fc:85" et si c'est
le cas répondez « Yes ».
<div class="encadre">Petite explication technique : la
commande indiquée plus haut demande à ssh de créer un tunnel dynamique entre
la machine locale et la machine distante (sas.eleves.ens.fr) en utilisant le port 3128.
Tout le trafic arrivant sur ce port sur la machine locale sera redirigé sur la machine
distante (option -D 3128). De plus, on dit à ssh de ne pas exécuter de commandes distantes
avec l'option -N.
</div>
</li>
<li>
Si ssh n'a pas signalé d'erreur, le tunnel est maintenant opérationel et
vous pouvez passer à la section suivante. (Il est normal que ssh ne vous
rende pas la main, ou qu'il vous rende la main sans ouvrir de shell sur
sas.) Attention, vous ne devez pas fermer la fenêtre de terminal avant
d'avoir terminé votre navigation, sous peine de devoir recommencer les
étapes précédentes.
<div class="encadre">Si vous voulez avoir plus d'informations sur la connexion SSH
et l'état du tunnel, vous pouvez utiliser l'argument " -v " (à ajouter après ssh
dans la ligne de commande précédente) qui donnera un log détaillé de ce que fait ssh.
Dans ce cas, le signe que le tunnel est ouvert est la ligne "entering interactive session."
</div>
</li>
</ol>
<h3>Avec Windows</h3>
<div class="encadre">
<p>Sur Windows 10, vous avez l'option d'activer la fonctionnalité expérimentale OpenSSH de Windows. Pour cela, allez dans "Paramètres &gt; Applications &gt; Gérer les fonctionnalités
facultatives &gt; ajouter une fonctionnalité &gt; Open SSH Client (Beta)", puis redémarrez votre ordinateur.</p>
<p>Vous pouvez désormais utiliser les fonctionnalités ssh dans Windows Powershell. Les lignes de commandes indiquées pour
Linux/macOS (<b>ssh -D 3128 monlogin@sas.eleves.ens.fr</b>) fonctionnent de la même façon.</p></div>
<p><i>Sur les autres distributions de Windows/sans activer OpenSSH : </i></p>
<p>Pour ouvrir un tunnel SSH depuis Windows, vous aurez besoin
du logiciel <strong>PuTTY</strong>. Téléchargez le
programme <strong>putty.exe</strong> à
l'adresse <a
href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html</a>.
</p>
<h4>La première fois</h4>
<p> Ouvrez le programme <strong>putty.exe</strong>.
</p>
<p>Remplissez les champs suivants :</p>
<ol>
<li>dans l'onglet « Session » :
<ol>
<li><strong>Host name (or IP
address)</strong> : <code>sas.eleves.ens.fr</code></li>
<li><strong>Port</strong> : <code>22</code></li>
<li><strong>Protocole</strong> : <code>SSH</code></li>
<li><strong>Saved sessions</strong> : <code>ENS par tunnel
SSH</code>
<p><img src="tunnel0.png" alt="Configuration de l'onglet
Session" /></p>
</li>
</ol>
</li>
<li>dans l'onglet « SSH », puis « Tunnel »
<ol>
<li><strong>Source port</strong> : <code>3128</code></li>
<li><strong>Destination</strong> : <code>www-cache.ens.fr:3128</code></li>
<li>cliquer sur « <strong>Add</strong> »
<p><img src="tunnel1.png" alt="Configuration de l'onglet
Tunnel" /></p>
<p>
Vous verrez alors : </p>
<p><img src="tunnel2.png" alt="Après configuration de
l'onglet Tunnel" /></p>
</li>
</ol>
</li>
<li>dans l'onglet « Session » :
<ol>
<li>cliquer sur « <strong>Save</strong> ».</li>
</ol>
</li>
</ol>
<h4>Les fois suivantes</h4>
<p>Désormais, pour ouvrir le tunnel SSH, il vous suffira de
cliquer deux fois sur « ENS par tunnel SSH ». Donnez
votre
<strong>identifiant</strong> (<em>login</em>) et votre <strong>mot de
passe</strong>. La première fois, on vous demandera si vous acceptez
la clef SSH, afin d'éviter toute tentative d'usurper l'identité de
sas&nbsp;: vérifiez que le fingerprint indiqué est bien
"d2:2f:2d:e6:22:17:16:1c:54:5f:e3:9a:0b:88:db:37" et répondez « Yes ».
</p>
<h2>Emprunter le tunnel</h2>
<p>Que vous utilisiez Linux, Mac OS, Windows, FreeBSD ou autre,
vous avez maintenant ouvert le tunnel. Le signe qu'il est ouvert,
c'est la fenêtre de terminal ouverte. Attention, si vous fermez la fenêtre
de terminal, le tunnel se fermera.</p>
<p>Il reste à emprunter ce tunnel. Pour cela, vous devrez configurer
votre navigateur pour lui dire d'utiliser
le <strong>proxy</strong> <code>localhost</code> avec le port
<code>3128</code>. Nous ne pouvons pas faire l'inventaire de tous
les navigateurs qui existent, alors voici simplement comment faire
pour les principaux. Pour les autres (Konqueror, Galeon, Epiphany,
Mozilla, w3m...), cela ne devrait pas être très différent.</p>
<h3>Avec Firefox pour Linux / Mac OS X</h3>
<p>Allez dans <code>Edit</code>, puis <code>Preferences</code>, <code>Advanced</code>, <code>Network</code> et <code>Settings</code> :</p>
<p><img src="tunnel8.png" alt="Options de connection dans Firefox" /></p>
<p>Alternativement, allez dans <code>Edit</code>,
puis <code>Preferences</code>, et enfin <code>Connexion
settings</code> :</p>
<p><img src="tunnel5.png" alt="Options de connection dans Firefox"/></p>
<p>Si vous avez suivi la méthode pour Linux, indiquez à votre navigateur
que vous voulez <strong>utiliser un proxy</strong>, en cliquant sur « <code>Manual proxy
configuration</code> », puis en
tapant <code>localhost</code> comme proxy SOCKS,
et <code>3128</code> comme port :</p>
<p><img src="tunnel9.png" alt="Paramètres de connection dans Firefox" /></p>
<h3>Avec Firefox pour Windows</h3>
<p>Allez dans <code>Edit</code>,
puis <code>Preferences</code>, <code>Advanced</code>, <code>Network</code> et <code>Settings</code> :</p>
<p> <img src="tunnel8.png" alt="Options de connection dans Firefox"/></p>
<p>Alternativement, allez dans <code>Edit</code>,
puis <code>Preferences</code>, et enfin <code>Connexion
settings</code> :</p>
<p><img src="tunnel5.png" alt="Options de connection dans Firefox"/></p>
<p>Si vous avez suivi la méthode pour Windows, indiquez à votre navigateur
que vous voulez <strong>utiliser un
proxy</strong>, en cliquant sur « <code>Manual proxy
configuration</code> », puis en
tapant <code>localhost</code> comme proxy HTTP,
et <code>3128</code> comme port :</p>
<p><img src="tunnel6.png" alt="Paramètres de connection dans Firefox" /></p>
<h3>Avec Internet Explorer pour Windows : </h3>
<p>
Allez dans <code>Options</code>, puis cliquez sur l'onglet
<code>Connections</code> ; cliquez sur le bouton
« <code>Paramètres réseau</code> », comme
indiqué sur l'image suivante :</p>
<p><img src="tunnel3.png" alt="Bouton Paramètres réseau" />
</p>
<p> Ensuite, cochez la case « <code>Utiliser un serveur
proxy pour votre réseau local</code> », et indiquez
d'utiliser l'adresse <code>localhost</code> avec le
port <code>3128</code> :</p>
<p><img src="tunnel4.png" alt="Adresse du proxy" />
</p>
<p>Maintenant, le tunnel est ouvert, et votre navigateur est disposé à
l'emprunter. Demandez-lui d'aller à l'adresse
<a href="http://www.intranet.ens.fr">http://www.intranet.ens.fr</a>
pour <strong>vérifier son bon fonctionnement</strong>.
</p>
<h2>Reboucher le tunnel</h2>
<p>Quand vous avez fini de consulter les sites qui nécessitent de passer
par un tunnel SSH, et à ce moment seulement, vous pouvez le
fermer. C'est comme si vous « rebouchiez » le tunnel après l'avoir
emprunté. Il suffit pour cela de :</p>
<ol>
<li> retourner dans les <em>options de votre navigateur</em>, et de lui
indiquer de <strong>ne pas utiliser de proxy</strong>.</li>
<li> <strong>fermer la fenêtre de terminal</strong> avec laquelle vous
avez ouvert le tunnel.</li>
</ol>
<h2>Quelques sites accessibles depuis l'ENS</h2>
<p>Voici quelques-uns des sites dont l'accès est restreint à
l'ENS :</p>
<ul>
<li><a
href="http://www.intranet.ens.fr">http://www.intranet.ens.fr</a>,
l'Intranet de l'ENS ;</li>
<li><a
href="http://www.ens.fr/annuaire">http://www.ens.fr/annuaire/</a>,
l'Annuaire interne de l'ENS ;</li>
<li><a href="http://entapps.ens.fr/joomla/index.php?option=com_content&amp;view=article&amp;id=532:menu-de-la-semaine">http://entapps.ens.fr/joomla/index.php?option=com_content&amp;view=article&amp;id=532:menu-de-la-semaine</a>,
le Menu du Pot de l'ENS ;</li>
<li><a href="http://salles.ens.fr/">http://salles.ens.fr/</a>, le
planning de réservation des salles.</li>
</ul>
<p>L'ENS profite également de certaines offres commerciales, telles que
des encyclopédies en ligne, des bases de données documentaires,
etc. Notamment, depuis
la <a href="http://halley.ens.fr/search*frc~S9/">bibliothèque
électronique de l'ENS</a>, vous aurez accès aux ressources
d'« Accès réservé aux postes de l'ENS ».</p>
<div class="metainformation">
Auteurs : Baptiste Mélès, Lionel Fourquaux, Lucas Verney.
<date value="from git" />
</div>
</body>
</html>