Merge branch 'master' of sas.eleves.ens.fr:www

Conflicts:
	internet/loin/ssh.tml
	internet/loin/tunnel.tml
This commit is contained in:
Antoine Amarilli 2013-10-20 00:17:06 +02:00
commit 9dff87dbfc
4 changed files with 342 additions and 93 deletions

194
internet/eduroam.tml Normal file
View file

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC
"-//ENS/Tuteurs//DTD TML 1//EN" "tuteurs://DTD/tml.dtd">
<html>
<head>
<title>eduroam</title>
</head>
<body>
<div class="attention">
Cette page est en cours d'écriture, et contient donc des
informations incomplètes et/ou imprécises. Utilisez à vos
risques et périls, et n'hésitez pas à envoyer vos
remarques/demandes (par exemple pour d'autres systèmes)
à <pre>basile[point]clement[at]ens[point]fr</pre>.
</div>
<h1>Connection eduroam à l'ENS et ailleurs</h1>
<div>
eduroam est un réseau WiFi diffusé dans de nombreuses institutions
de recherche et/ou d'enseignement en France, en Europe, et dans le
reste du monde. Son but est d'offrir un accès à Internet aux
étudiants et personnels de ces établissements de façon universelle
(si vous avez des identifiants eduroam dans un établissement, par
exemple à l'ENS, vous pouvez vous connecter à eduroam partout dans
le monde !).</div>
<h2>Installation automatique (recommandé sous Windows)</h2>
<div>
En cours
d'écriture. Voir <a href="https://cat.eduroam.org/?idp=274">l'outil
de configuration CAT</a> d'eduroam.</div>
<h2>Installation manuelle (recommandé sous Linux)</h2>
<!-- <h3>Ubuntu (Linux avec {tool par défaut})</h3>
<h3>KUbuntu (Linux avec {tool par défaut})</h3> -->
<h3>Linux (ubuntu) avec NetworkManager</h3>
<div>
Dans le menu de sélection de réseau, sélectionnez un réseau
eduroam (clic gauche), puis suivez les instructions suivantes.<!-- Vous devriez obtenir une fenêtre de
configuration similaire à celle sur la figure TODO. Suivez alors les
instructions de configurations suivantes pour obtenir quelque
chose de similaire à la figure TODO.-->
</div>
<ol>
<li>Dans <code>Authentication</code>, choisissez <code>Tunneled TLS</code></li>
<li>Dans <code>Anonymous Identity</code>, entrez <code>anonymous@ens.fr</code></li>
<li>Dans <code>CA Certificate</code>, sélectionnez le
fichier <code>/etc/ssl/certs/AddTrust_External_Root.pem</code></li>
<li>Dans <code>Inner authentication</code>, sélectionnez <code>PAP</code></li>
<li>Entrez votre identifiant ENT/GPS <strong>en
ajoutant <code>@ens.fr</code> à la fin</strong> (par
exemple, si votre identifiant ENT/GPS
est <code>bobama</code>, vous devez
renseigner <code>bobama@ens.fr</code>)</li>
<li>Dans <code>Password</code>, entrez votre mot de passe ENT/GPS</li>
<li>Cliquez sur <code>Connect</code></li>
<li>NetworkManager peut, dans certain cas, vous demander le mot
de passe de votre trousseau. Il faut alors renseigner le mot
de passe de votre compte sur votre ordinateur, pas le mot de
passe ENT/GPS !</li>
</ol>
<h3>Linux avec wicd</h3>
<div>
wicd ne possède malheureusement pas de profil fonctionnant avec la
configuration eduroam de l'ENS, il va donc falloir le créer nous
même.</div>
<div class="attention">
Vous avez besoin d'un accès <em>root</em> (administrateur) à
votre machine. <br /> Si ce n'est pas le cas - il vous faut
utiliser une autre méthode.
</div>
<div>
Créez, en tant que <em>root</em> le
fichier <code>/etc/wicd/encryption/templates/eduroam-ens</code>
et placez-y le contenu suivant :
<pre>name = Eduroam ENS
author = Basile Clement
version = 1
require identity *Identifiant password *Mot_de_passe
protected password *Mot_de_passe
-----
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="$_ESSID"
scan_ssid="$_SCAN"
key_mgmt=WPA-EAP
eap=TTLS
identity="$_IDENTITY"
anonymous_identity="anonymous@ens.fr"
password="$_PASSWORD"
ca_path="/etc/ssl/certs"
subject_match="ens.fr"
phase2="auth=PAP"
}</pre>
</div><div>
Ensuite, éditez le
fichier <code>/etc/wicd/encryption/templates/active</code>
(toujours en tant que <em>root</em>) et ajoutez-y la ligne
suivante :
<pre>eduroam-ens</pre>
</div>
<div>
Maintenant, il ne reste plus qu'à configurer un profil avec vos
identifiants eduroam.
<ol>
<li>Sélectionnez un réseau eduroam quelconque (ESSID <code>eduroam</code>)</li>
<li>Cochez les cases <code>Use these settings for all network
sharing this essid</code> et <code>Use encryption</code></li>
<li>Sélectionnez <code>Eduroam ENS</code> comme méthode de chiffrage</li>
<li>Entrez vos identifiants (habituellement, la première
lettre de votre prenom puis votre nom - <strong>n'ajoutez
pas <code>@ens.fr</code></strong>) et mots de passe ENT/GPS
dans les champs <code>Identifiant</code>
et <code>Mot_de_passe</code></li>
<li>Enregistrez la configuration et connectez-vous. Vous
devriez avoir accès à internet.</li>
</ol>
</div>
<h3>(Arch)Linux avec netctl</h3>
<h3>Linux avec wpa_supplicant</h3>
<div>Si vous utilisez wpa_supplicant, vous devriez être à peu près
capables de vous débrouiller tout seul pour la configuration. Le
bloc <em>network</em> suivant devrait fonctionner (pensez à
correctement remplacer <code>$LOGIN</code>
et <code>$PASSWORD</code> et n'ajoutez pas <code>@ens.fr</code>
après l'identifiant ENT/GPSp) suivant devrait fonctionner :
<pre>network={
ssid="eduroam"
key_mgmt=WPA-EAP
eap=TTLS
identity="$LOGIN"
anonymous_identity="anonymous@ens.fr"
password="$PASSWORD"
ca_path="/etc/ssl/certs/"
subject_match="ens.fr"
phase2="auth=PAP"
}</pre>
</div>
<h3>Android 4.X.X</h3>
<div>
Cette procédure a été testée sur un HTC One
X sous Android 4.2.2 et sur un Galaxy Nexus sous Android 4.3.?.
Allez dans Settings Activez le WiFi Choisissez "TTLS" dans Methode
EAP Choisissez "PAP" dans Phase 2 Mettez votre identifiant ENT/GPS
puis @ens.fr dans "Identite" Mettez votre mot de passe ENT/GPS
dans "mot de passe" Dans Anonyme entrez "anonymous@ens.fr" (il
faut parfois cocher la case "Afficher les options avancées")
Cliquez sur "Sauver"
</div>
<div class="metainformation">
Auteur : Basile Clement. <date value="from git" />.
</div>
</body>
</html>
<!-- netctl
Description='eduroam network configuration'
Interface=wlan0
Connection=wireless
Security=wpa-configsection
ESSID=eduroam
IP=dhcp
WPAConfigSection=(
'ssid="eduroam"'
'key_mgmt=WPA-EAP'
'eap=TTLS'
'anonymous_identity="anonymous@ens.fr"'
'identity="$LOGIN"'
'password="$PASSWORD"'
'priority=42'
'phase2="auth=PAP"'
'subject_match="ens.fr"'
)
-->

View file

@ -20,6 +20,13 @@ href="http://www.eleves.ens.fr/wintuteurs/">WinTuteurs</a>, le <a
href="http://www.eleves.ens.fr/wintuteurs/tutorials/putty/">tutorial href="http://www.eleves.ens.fr/wintuteurs/tutorials/putty/">tutorial
sur PuTTY (Windows)</a>. sur PuTTY (Windows)</a>.
</div> </div>
<div class="encadre">
<strong>Note</strong> : Sur cette page, il est question de SSH1 et de SSH2. Depuis quelques années déjà toutes les machines de l'ENS utilisent SSH2 et ce protocole est devenu le nouveau standard. Les informations sur SSH1 ne sont là qu'en cas de besoins vraiment particuliers.
</div>
<div class="encadre">
<strong>Note</strong> : Sur cette page, la machine <code>trolle.ens.fr</code> sera utilisée pour les démonstrations. Sachez que vous pouvez vous connecter de la même façon sur n'importe quelle machine des salles informatiques (le nom de la machine étant marqué dessus). Vous pouvez également vous connecter sur <code>sas.eleves.ens.fr</code> qui remplace l'ancien accès à <code>clipper</code> mais cette machine n'étant pas physique, il est conseillé de se connecter sur une des machines des salles informatiques pour effectuer des tâches gourmandes en ressources.
</div>
<h2>Se connecter</h2> <h2>Se connecter</h2>
@ -34,9 +41,9 @@ entend la machine devant laquelle vous vous trouvez. Dans ce tutorial,
on l'appelle <code>machineloc</code>. La <dfn>machine distante</dfn>, on l'appelle <code>machineloc</code>. La <dfn>machine distante</dfn>,
c'est celle à laquelle vous voulez vous connecter. Dans ce tutorial, c'est celle à laquelle vous voulez vous connecter. Dans ce tutorial,
on l'appelle <code>machinedist</code>. Par exemple, si vous êtes dans on l'appelle <code>machinedist</code>. Par exemple, si vous êtes dans
votre thurne et que vous voulez vous connecter à <code>sas.eleves</code>, votre thurne et que vous voulez vous connecter à une machine de l'ENS (<code>trolle.ens.fr</code>),
la machine locale est votre propre ordinateur, la machine distante est la machine locale est votre propre ordinateur, la machine distante est
sas.eleves. <code>trolle.ens.fr</code>.
</div> </div>
@ -82,7 +89,7 @@ Are you sure you want to continue connecting (yes/no)?
<p class="continue"> <p class="continue">
Ne paniquez pas ! Tout est parfaitement normal, on vérifie qu'il Ne paniquez pas ! Tout est parfaitement normal, on vérifie qu'il
s'agit de la bonne machine. Il suffit de répondre 'yes' pour s'agit de la bonne machine. Il suffit de répondre 'yes' pour
continuer. <code>ssh</code> vous dira alors : continuer (si vous êtes sûr de votre connexion). <code>ssh</code> vous dira alors :
</p> </p>
<pre> <pre>
@ -93,8 +100,8 @@ the list of known hosts.
<p class="continue"> <p class="continue">
Ce qui signifie que <code>ssh</code> ne vous embêtera plus à poser la Ce qui signifie que <code>ssh</code> ne vous embêtera plus à poser la
question. Notez au passage le « RSA1 » entre parenthèses. Il s'agit du question. Notez au passage le « RSA1 » entre parenthèses. Il s'agit du
type de clef utilisée par la machine distante. Cette information peut type de clé utilisée par la machine distante. Cette information peut
vous servir par la suite pour générer une clef. vous servir par la suite pour générer une clé.
</p> </p>
@ -108,7 +115,7 @@ défaut, <code>ssh</code> vous le réclamera.
</p> </p>
<pre> <pre>
<span class="clipper">sas ~ $</span> ssh machine.monlabo.fr <span class="clipper">trolle.ens.fr ~ $</span> ssh machine.monlabo.fr
toto@machine's password: toto@machine's password:
</pre> </pre>
@ -117,44 +124,48 @@ Il vous suffit de taper votre mot de passe. Attention, pour des
raisons de sécurité (un coup d'&oelig;il sur l'écran de son voisin est raisons de sécurité (un coup d'&oelig;il sur l'écran de son voisin est
un mode de piratage basique mais efficace) celui n'apparaître pas à un mode de piratage basique mais efficace) celui n'apparaître pas à
l'écran, vous devrez taper en aveugle. Si vous pensez avoir commis une l'écran, vous devrez taper en aveugle. Si vous pensez avoir commis une
erreur dans votre mot de passe, faites <code>Ctrl+u</code> et retapez erreur dans votre mot de passe, faites <code>Ctrl+u</code> et retapez-le
le en entier. Si vous avez tapé correctement votre mot de passe, vous en entier. Si vous avez tapé correctement votre mot de passe, vous
aurez à votre disposition un shell sur la machine distante. Sinon, aurez à votre disposition un shell sur la machine distante. Sinon,
vous lirez « <i lang="en">Permission denied.</i> » et il faudra vous lirez « <i lang="en">Permission denied.</i> » et il faudra
recommencer. recommencer.
</p> </p>
<h3>Authentification par clef publique</h3> <h3>Authentification par clé publique</h3>
<p> <p>
Une autre méthode utilise ce qu'on appelle une « clef publique », Une autre méthode utilise ce qu'on appelle une « clé publique »,
c'est-à-dire un code qui vous identifie. Si vous suivez la procédure c'est-à-dire un code qui vous identifie. Si vous suivez la procédure
décrite ci-dessous, vous pourrez vous connecter par <code>ssh</code> décrite ci-dessous, vous pourrez vous connecter par <code>ssh</code>
sur une machine distante sans avoir à taper de mot de passe. sur une machine distante sans avoir à taper de mot de passe. De plus,
cette méthode permet de se connecter sur plusieurs machines avec la même
clé, ce qui peut être pratique. Enfin, utiliser une clé publique augmente
(légèrement) la sécurité en cas de compromission du serveur : celui-ci ne peut
pas récupérer votre mot de passe.
</p> </p>
<h4><a name="type">Type de clef</a></h4> <h4><a name="type">Type de clé</a></h4>
<p> <p>
Il existe différentes versions de SSH. Suivant le type de version Il existe différentes versions de SSH. Suivant le type de version
utilisé sur la machine distante, le type de clef à générer utilisé sur la machine distante, le type de clé à générer
diffère. Cette information vous est donnée par exemple lors de votre diffère. Cette information vous est donnée par exemple lors de votre
première connexion <code>ssh</code> sur cette machine (voir <a première connexion <code>ssh</code> sur cette machine (voir <a
href="#typeclef">ci-dessus</a>). Si vous ne vous en souvenez plus, href="#typeclef">ci-dessus</a>). Si vous ne vous en souvenez plus,
sachez que SSH1 utilisegénéralement des clefs RSA1, et SSH2 des clefs sachez que SSH1 utilise généralement des clés RSA1, et que SSH2 peut utiliser des clés
DSA. Pour connaître la version de SSH utilisée sur la machine RSA ou DSA. Pour connaître la version de SSH utilisée sur la machine
distante, tapez <code>ssh -v</code> sur la machine distante. distante, tapez <code>ssh -v</code> sur la machine distante.
</p> </p>
<div class="ens"> <div class="ens">
À l'ENS, depuis décembre 2003, les ordinateurs utilisent SSH2. Si vous À l'ENS, depuis décembre 2003, les ordinateurs utilisent SSH2. Si vous
aviez déjà une clef publique pour vous connecter à l'ENS, il vaut aviez déjà une clé publique pour vous connecter à l'ENS, il vaut
mieux en changer. Il vous suffit de générer une nouvelle clef, de type mieux en changer. Il vous suffit de générer une nouvelle clé, de type
DSA, et de suivre de nouveau la procédure ci-dessous. RSA (chiffrement recommandé), et de suivre de nouveau la procédure ci-dessous.
</div> </div>
<pre> <pre>
<span class="prompt">sas ~</span> $ ssh -v <span class="prompt">trolle ~</span> $ ssh -v
OpenSSH_3.7.1p2, SSH protocols 1.5/2.0, OpenSSL 0.9.7c 30 Sep 2003 OpenSSH_3.7.1p2, SSH protocols 1.5/2.0, OpenSSL 0.9.7c 30 Sep 2003
Usage: ssh [options] host [command] Usage: ssh [options] host [command]
&lt;...&gt; &lt;...&gt;
@ -165,12 +176,12 @@ Le « SSH protocols 1.5/2.0 » vous indique qu'il s'agit d'un
<code>ssh</code> récent qui peut faire du SSH1 ou du SSH2. <code>ssh</code> récent qui peut faire du SSH1 ou du SSH2.
</p> </p>
<h4><a name="keygen">Générer la clef</a></h4> <h4><a name="keygen">Générer la clé</a></h4>
<p> <p>
Pour ce faire, commencez par taper la commande <code>ssh-keygen</code> Pour ce faire, commencez par taper la commande <code>ssh-keygen</code>
(comme <i lang="en">key generator</i>) <strong>sur la machine (comme <i lang="en">key generator</i>) <strong>sur la machine
locale</strong> (et pas sur la machine à distance). locale</strong> (et pas sur la machine distante).
</p> </p>
<pre> <pre>
@ -179,95 +190,103 @@ locale</strong> (et pas sur la machine à distance).
<p> <p>
Avec un <code>ssh</code> récent, qui peut faire du SSH1 ou du SSH2, il Avec un <code>ssh</code> récent, qui peut faire du SSH1 ou du SSH2, il
faut indiquer le type de clef à générer (voir ci-dessus). Par exemple, faut indiquer le type de clé à générer (voir ci-dessus). Par exemple,
pour générer une clef DSA (SSH2) : pour générer une clé RSA (recommandé) :
</p> </p>
<pre>
<span class="prompt">machineloc ~ $</span> ssh-keygen -t rsa
</pre>
<p>Pour générer une clé de type DSA, il suffit d'utiliser la commande suivant à la place :</p>
<pre> <pre>
<span class="prompt">machineloc ~ $</span> ssh-keygen -t dsa <span class="prompt">machineloc ~ $</span> ssh-keygen -t dsa
</pre> </pre>
<p>Notez également qu'il est possible de spécifier la taille de la clé (en bits) avec le paramètre <code>-b X</code> où X est un nombre de bits à choisir parmi (par exemple) 1024, 2048 (minimum recommandé), 4096.</p>
<p class="continue"> <p class="continue">
Le générateur de clefs va en générer deux, une clef publique et une Le générateur de clés va en générer deux, une clé publique et une
clef privée. Il va placer la clef privée (sous forme chiffrée) dans un clé privée. Il va placer la clé privée (sous forme chiffrée) dans un
endroit qui, par défaut, est <code>$HOME/.ssh/id_dsa</code> pour endroit qui, par défaut, est <code>$HOME/.ssh/id_rsa</code> pour
SSH2 et <code>$HOME/.ssh/identity</code> pour SSH1 : SSH2 et une clé chiffrée en RSA et <code>$HOME/.ssh/identity</code> pour SSH1 :
</p> </p>
<pre> <pre>
<span class="prompt">machineloc ~ $</span> ssh-keygen -t dsa <span class="prompt">machineloc ~ $</span> ssh-keygen -t rsa
Generating public/private dsa key pair. Generating public/private rsa key pair.
Enter file in which to save the key (/usr/home/toto/.ssh/id_dsa): Enter file in which to save the key (/usr/home/toto/.ssh/id_rsa):
</pre> </pre>
<p class="continue">Appuyez sur <code>Enter</code> pour accepter la <p class="continue">Appuyez sur <code>Enter</code> pour accepter la
localisation de la clef (il est plus simple d'accepter la localisation localisation de la clé (il est plus simple d'accepter la localisation
proposée). <code>ssh-keygen</code> vous demande ensuite une « <i proposée). <code>ssh-keygen</code> vous demande ensuite une « <i
lang="en">passphrase</i> » (équivalent d'un mot de passe, mais sous lang="en">passphrase</i> » (équivalent d'un mot de passe, mais sous
forme de phrase). Cette phrase sert à fortifier la clef pour la rendre forme de phrase). Cette phrase sert à fortifier la clé pour la rendre
plus difficilement cassable. À partir de là, deux solutions : plus difficilement cassable. À partir de là, deux solutions :
</p> </p>
<ul> <ul>
<li> si vous tapez une phrase, votre connection sera plus sûre, mais <li> si vous tapez une phrase, votre connection sera plus sûre, mais
vous devrez utiliser <code>ssh-agent</code> pour ne pas avoir à la vous devrez utiliser <code>ssh-agent</code> pour ne pas avoir à la
retaper à chaque fois (voir <a href="#ssh-agent">plus bas</a>)</li> retaper à chaque fois (voir <a href="#ssh-agent">plus bas</a>). Si votre clé privée est récupérée, elle ne peut pas être utilisée sans la passphrase associée.</li>
<li> vous ne tapez pas de phrase (et appuyez seulement sur <li> vous ne tapez pas de phrase (et appuyez seulement sur
<code>Enter</code>), votre connexion sera moins sûre</li> <code>Enter</code>), votre connexion sera moins sûre. N'importe qui ayant accès à votre clé privée pourra se connecter en s'identifiant à votre place.</li>
</ul> </ul>
<p>Que vous tapiez une phrase ou pas, à la fin vous verrez quelque <p>Que vous tapiez une phrase ou pas, à la fin vous verrez quelque
chose comme </p> chose comme </p>
<pre> <pre>
Your identification has been saved in /usr/home/toto/.ssh/id_dsa. Your identification has been saved in /usr/home/toto/.ssh/id_rsa.
Your public key has been saved in /usr/home/toto/.ssh/id_dsa.pub. Your public key has been saved in /usr/home/toto/.ssh/id_rsa.pub.
The key fingerprint is: The key fingerprint is:
1a:2a:3e:4a:1a:65:1c:89:10:92:9c:5c:1f:75:cc:de 1a:2a:3e:4a:1a:65:1c:89:10:92:9c:5c:1f:75:cc:de
toto@machineloc toto@machineloc
</pre> </pre>
<h4>Que faire de la clef</h4> <h4>Que faire de la clé ?</h4>
<p class="continue"> <p class="continue">
Si l'on récapitule, <code>ssh-keygen</code> a généré deux Si l'on récapitule, <code>ssh-keygen</code> a généré deux
clefs :</p> clés :</p>
<ul> <ul>
<li> une clef privée (chiffrée si vous avez donné une phrase, non <li> une clé privée (chiffrée si vous avez donné une phrase, non
chiffrée sinon) qui est <code>$HOME/.ssh/identity</code> (ou chiffrée sinon) qui est <code>$HOME/.ssh/identity</code> (ou
<code>$HOME/.ssh/id_dsa</code> si c'est du SSH2) et qui n'est <code>$HOME/.ssh/id_rsa</code> si c'est du SSH2) et qui n'est
accessible qu'à vous</li> accessible qu'à vous.</li>
<li> une publique (non chiffrée) qui est <li> une clé publique (non chiffrée) qui est
<code>$HOME/.ssh/id_dsa.pub</code> (ou <code>$HOME/.ssh/id_rsa.pub</code> (ou
<code>$HOME/.ssh/identity.pub</code> si c'est du SSH1) et qui peut <code>$HOME/.ssh/identity.pub</code> si c'est du SSH1) et qui peut
être lue par tout le monde</li> être lue par tout le monde.</li>
</ul> </ul>
<div class="encadre"> <div class="encadre">
<strong>Définition</strong> : qu'est-ce que ce <strong>Définition</strong> : qu'est-ce que ce
« <code>$HOME</code> » ? <dfn>$HOME</dfn> est ce qu'on appelle une « <code>$HOME</code> » ? <dfn>$HOME</dfn> (ou <code>~</code>) est ce qu'on appelle une
variable d'environnement, qui sert à indiquer aux programmes quel est variable d'environnement, qui sert à indiquer aux programmes quel est
votre répertoire personnel (la racine de votre compte). Faites votre répertoire personnel (la racine de votre compte). Faites
<code>echo $HOME</code> pour savoir quel est le vôtre. Sur <code>echo $HOME</code> dans un terminal sur une machine de l'ENS
<code>sas</code>, c'est pour savoir quel est le vôtre. Par exemple, sur les machines de l'ENS, c'est
<code>/users/promo/matiere/login</code>. Pour en savoir plus, voir <code>/users/promo/matiere/login</code>. Pour en savoir plus, voir
l'article « <a l'article « <a
href="&url.tuteurs;docs/hublot/hublot03.html#concept">Concept : href="&url.tuteurs;docs/hublot/hublot03.html#concept">Concept :
arborescence</a> » dans le n°3 du <cite>Hublot</cite>. arborescence</a> » dans le n°3 du <cite>Hublot</cite>.<br/>
</div> </div>
<p> <p>
Maintenant, sur la machine <strong>distante</strong>, allez dans le Maintenant, sur la machine <strong>distante</strong>, allez dans le
répertoire <code>.ssh</code> et éditez le fichier répertoire <code>~/.ssh</code> et éditez le fichier
<code>authorized_keys</code> : ajoutez à la fin, et <strong>sur <code>authorized_keys</code> : ajoutez à la fin, et <strong>sur
une seule ligne</strong> (attention aux éditeurs qui coupent les une seule ligne</strong> (attention aux éditeurs qui coupent les
lignes) la clef publique (<code>identity.pub</code> pour SSH1 ou lignes) la clé publique (<code>identity.pub</code> pour SSH1 ou
<code>id_dsa.pub</code> pour SSH2) que vous venez de générer. Procédez <code>id_rsa.pub</code> pour SSH2) que vous venez de générer (attention,
il faut bien ajouter la clé publique et non la clé privée !). Procédez
ainsi pour toutes les machines distantes auxquelles vous voulez vous ainsi pour toutes les machines distantes auxquelles vous voulez vous
connecter sans avoir à taper votre mot de passe. Et voilà ! connecter sans avoir à taper votre mot de passe. Et voilà !
</p> </p>
@ -276,11 +295,11 @@ connecter sans avoir à taper votre mot de passe. Et voilà !
<p> <p>
Si vous avez opté pour la solution « phrase de passe », bravo, votre Si vous avez opté pour la solution « phrase de passe », bravo, votre
connexion est plus sûre. Mais vous devez taper à chaque fois ladite connexion est plus sûre, votre clé privée ne peut pas être usurpée. Mais vous devez taper à chaque fois ladite
phrase... Solution, utiliser <code>ssh-agent</code>. phrase... ce qui est vite pénible. Solution, utiliser <code>ssh-agent</code>.
</p> </p>
<p>D'abord, il faut lancer <code>ssh-agent</code>, qui gère les clefs <p>D'abord, il faut lancer <code>ssh-agent</code>, qui gère les clés
d'identification. Si vous êtes logué dans une salle informatique de d'identification. Si vous êtes logué dans une salle informatique de
l'ENS avec la config conscrits, pas de problème, l'ENS avec la config conscrits, pas de problème,
<code>ssh-agent</code> est déjà lancé. Si ce n'est pas le cas, il faut <code>ssh-agent</code> est déjà lancé. Si ce n'est pas le cas, il faut
@ -288,7 +307,7 @@ le lancer vous-même.
</p> </p>
<p> <p>
Comme l'agent est disponible dans tous les programmes qui découlent, Comme l'agent est disponible dans tous les programmes lancés ultérieurement,
on le lance au début d'une session. Par exemple, quand vous êtes en on le lance au début d'une session. Par exemple, quand vous êtes en
mode texte et que vous lancez le serveur X : mode texte et que vous lancez le serveur X :
</p> </p>
@ -308,17 +327,19 @@ Quand vous vous loguez à distance, c'est plutôt :
<p> <p>
Une fois lancé, l'agent vous suit dans toutes vos connexions à Une fois lancé, l'agent vous suit dans toutes vos connexions à
distance, et ainsi il est disponible partout. Il faut donner à l'agent distance, et ainsi il est disponible partout. Il faut donner à l'agent
votre clef à gérer en tapant <code>ssh-add</code>. On vous demande votre clé à gérer en tapant <code>ssh-add</code>. On vous demande
alors votre phrase de passe : alors votre phrase de passe :
</p> </p>
<pre> <pre>
<span class="prompt">machine ~ $</span> ssh-add <span class="prompt">machine ~ $</span> ssh-add
Need passphrase for /home/toto/.ssh/identity (toto@machine) Need passphrase for /home/toto/.ssh/id_rsa (toto@machine)
Enter passphrase: Enter passphrase:
Identity added: /home/toto/.ssh/identity (toto@machine) Identity added: /home/toto/.ssh/id_rsa (toto@machine)
</pre> </pre>
<p><em>Note</em> : Les dernières versions des environnements de bureau sous Linux possèdent leur propre interface graphique qui sert de surcouche à <code>ssh-agent</code>. Par exemple, <code>seahorse</code> (ou Trousseau de clé Gnome) tient ce rôle dans Gnome. L'utilisation de <code>ssh-agent</code> peut alors être facilitée, notamment car ces logiciels déverrouillent les clés SSH avec le mot de passe de login directement.</p>
<h3>Exécution d'une commande à distance</h3> <h3>Exécution d'une commande à distance</h3>
<p> <p>
@ -337,7 +358,7 @@ Fri Jul 4 12:01:49 MET DST 2003
N'oubliez pas de préciser <code>toto@machine</code> si vos logins sont N'oubliez pas de préciser <code>toto@machine</code> si vos logins sont
différents entre les deux machines. Si vous voulez exécuter à distance différents entre les deux machines. Si vous voulez exécuter à distance
une commande avec des options, mieux vaut mettre des guillemets. Par une commande avec des options, mieux vaut mettre des guillemets. Par
exemple, je veux savoir si <code>brick</code> est une station Sun ou exemple, je peux savoir si <code>brick</code> est une station Sun ou
un PC, en utilisant la commande <code>uname</code>. un PC, en utilisant la commande <code>uname</code>.
</p> </p>
@ -350,6 +371,11 @@ i386
La réponse est « i386 », dénomination utilisée pour les PC. La réponse est « i386 », dénomination utilisée pour les PC.
</p> </p>
<p><em>Petite astuce pour <a href="&url.tuteurs;internet/irc.html">IRC</a></em> : Il est possible de se connecter sur IRC sur une machine de l'ENS directement avec la commande suivante (créer un alias pour plus de facilité) :</p>
<pre>
<span class="prompt">machineloc ~ $</span> ssh login@trolle.ens.fr -t irc
</pre>
<h3>Message d'erreur</h3> <h3>Message d'erreur</h3>
<p> <p>
@ -368,12 +394,12 @@ Please contact your system administrator.
</pre> </pre>
<p class="continue"> <p class="continue">
Ce message signifie que la clef ssh (l'identification) de la machine Ce message signifie que la clé ssh (l'identification) de la machine
distante a changé. En effet, à chaque fois que vous vous connectez à distante a changé. En effet, à chaque fois que vous vous connectez à
une machine par <code>ssh</code>, celle-ci présente à votre machine une machine par <code>ssh</code>, celle-ci présente à votre machine
une sorte de carte d'identité, ainsi vous êtes sûr qu'il s'agit bien une sorte de carte d'identité, ainsi vous êtes sûr qu'il s'agit bien
de la bonne machine et pas d'un pirate. Ou bien la machine a de la bonne machine et pas d'un pirate. Ou bien la machine a
réellement changé de clef ssh (à l'ENS, cela arrive de temps à autres réellement changé de clé ssh (à l'ENS, cela arrive de temps à autres
quand le SPI upgrade une machine), ou bien c'est une attaque de quand le SPI upgrade une machine), ou bien c'est une attaque de
pirate. Il vaut mieux écrire au SPI pour savoir ce qu'il en est. pirate. Il vaut mieux écrire au SPI pour savoir ce qu'il en est.
</p> </p>
@ -407,7 +433,7 @@ distante, faites :
<p class="continue"> <p class="continue">
Attention, <em>n'oubliez pas les deux points à la fin</em>. Vous Attention, <em>n'oubliez pas les deux points à la fin</em>. Vous
devrez taper votre mot de passe (sauf si vous utilisez devrez taper votre mot de passe (sauf si vous utilisez
l'authentification par clef publique, voir ci-dessus), puis l'authentification par clé publique, voir ci-dessus), puis
<code>ssh</code> se lancera dans le transfert en vous indiquant sa <code>ssh</code> se lancera dans le transfert en vous indiquant sa
progression : progression :
</p> </p>
@ -458,6 +484,13 @@ Maintenant, nous allons envoyer notre fichier <code>tagada.txt</code>
<span class="prompt">machineloc ~ $</span> scp tagada.txt machinedist:divers/blagues <span class="prompt">machineloc ~ $</span> scp tagada.txt machinedist:divers/blagues
</pre> </pre>
<p class="continue">
Et même vers n'importe quel répertoire (<code>/bidule</code> par exemple où / est la racine de la machine) :
</p>
<pre>
<span class="prompt">machineloc ~ $</span> scp tagada.txt machinedist:/bidule
</pre>
<h3>De la machine distante à la machine locale</h3> <h3>De la machine distante à la machine locale</h3>
<p>Pour rapatrier des fichiers de la machine distante à votre machine <p>Pour rapatrier des fichiers de la machine distante à votre machine
@ -496,7 +529,7 @@ le transfert machine locale -> machine distante, décrites ci-dessus.
<p class="continue">par exemple</p> <p class="continue">par exemple</p>
<pre>sftp://conscrit@clipper.ens.fr/users/06/maths/conscrit/</pre> <pre>sftp://conscrit@trolle.ens.fr/users/06/maths/conscrit/</pre>
<p class="continue">Une boîte de dialogue apparaît si nécessaire pour <p class="continue">Une boîte de dialogue apparaît si nécessaire pour
vous demander votre mot de passe. Vous pouvez ensuite copier, vous demander votre mot de passe. Vous pouvez ensuite copier,
@ -507,22 +540,26 @@ le transfert machine locale -> machine distante, décrites ci-dessus.
gestion de fichiers de KDE, par exemple celles auxquelles font appel gestion de fichiers de KDE, par exemple celles auxquelles font appel
les fonctions Ouvrir et Enregistrer des divers logiciels. </p> les fonctions Ouvrir et Enregistrer des divers logiciels. </p>
<h3>Sous Gnome</h3>
<p>La même chose est possible sous Gnome, en passant par le menu "Connexion à un serveur" du gestionnaire de fichiers Nautilus.</p>
<h2>Créer des alias</h2> <h2>Créer des alias</h2>
<p> Quand on utilise beaucoup la connexion distante, il devient très <p> Quand on utilise beaucoup la connexion distante, il devient très
vite fastidieux d'avoir toujours à taper en entier le nom vite fastidieux d'avoir toujours à taper en entier le nom
<code>sas.eleves.ens.fr</code>, <em>a fortiori</em> son adresse IP <code>trolle.ens.fr</code>, <em>a fortiori</em> son adresse IP
<code>129.199.129.11</code>. S'il n'y a pas d'ambiguïté (en l'occurrence, <code>129.199.129.38</code>. S'il n'y a pas d'ambiguïté (en l'occurrence,
si vous n'utilisez jamais qu'un seul serveur portant le nom de sas.eleves, si vous n'utilisez jamais qu'un seul serveur portant le nom de trolle,
et pas, par exemple, sas.eleves.ens.fr et sas.eleves.chezmoi.fr), vous pouvez et pas, par exemple, trolle.ens.fr et trolle.chezmoi.fr), vous pouvez
<strong>assigner un alias à une adresse</strong>. Pour ce faire, mettez <strong>assigner un alias à une adresse</strong>. Pour ce faire, mettez
dans le fichier <code>$HOME/.ssh/config</code> les lignes dans le fichier <code>$HOME/.ssh/config</code> les lignes
suivantes : </p> suivantes : </p>
<pre> <pre>
Host sas Host trolle
User toto User toto
HostName sas.eleves.ens.fr HostName trolle.ens.fr
</pre> </pre>
<p class="continue"> <p class="continue">
@ -534,7 +571,7 @@ Ainsi, il suffira de taper :
</p> </p>
<pre> <pre>
<span class="prompt">machineloc ~ $</span> ssh sas <span class="prompt">machineloc ~ $</span> ssh trolle
</pre> </pre>
<p class="continue"> <p class="continue">
@ -542,7 +579,7 @@ au lieu de  :
</p> </p>
<pre> <pre>
<span class="prompt">machineloc ~ $</span> ssh toto@sas.eleves.ens.fr <span class="prompt">machineloc ~ $</span> ssh toto@trolle.ens.fr
</pre> </pre>
<p> <p>
@ -551,7 +588,7 @@ en effet de taper :
</p> </p>
<pre> <pre>
<span class="prompt">machineloc ~ $</span> scp tagada.txt sas:divers/blagues <span class="prompt">machineloc ~ $</span> scp tagada.txt trolle:divers/blagues
</pre> </pre>
<p class="continue"> <p class="continue">
@ -559,7 +596,7 @@ au lieu de :
</p> </p>
<pre> <pre>
<span class="prompt">machineloc ~ $</span> scp tagada.txt toto@sas.eleves.ens.fr:divers/blagues <span class="prompt">machineloc ~ $</span> scp tagada.txt toto@trolle.ens.fr:divers/blagues
</pre> </pre>
@ -567,9 +604,9 @@ au lieu de :
<div class="attention"> <div class="attention">
<strong>Mise à jour</strong> : à l'ENS, depuis décembre 2003, les <strong>Mise à jour</strong> : à l'ENS, depuis décembre 2003, les
ordinateurs utilisent SSH2. Si vous aviez déjà une clef publique pour ordinateurs utilisent SSH2. Si vous aviez déjà une clé publique pour
vous connecter à l'ENS, il vaut mieux en changer. Il vous suffit de vous connecter à l'ENS, il vaut mieux en changer. Il vous suffit de
générer une nouvelle clef, de type DSA, et de <a href="#keygen">suivre générer une nouvelle clé, de type RSA, et de <a href="#keygen">suivre
de nouveau la procédure</a>. de nouveau la procédure</a>.
</div> </div>
@ -586,7 +623,7 @@ sûr :
</p> </p>
<ul> <ul>
<li> le client (par exemple, vous) et le serveur (sas.eleves) <li> le client (par exemple, vous) et le serveur (trolle.ens.fr)
s'authentifient mutuellement, ce qui évite que des pirates se fassent s'authentifient mutuellement, ce qui évite que des pirates se fassent
passer pour l'un ou pour l'autre</li> passer pour l'un ou pour l'autre</li>
<li> les données échangées sur le réseau par le biais de <li> les données échangées sur le réseau par le biais de
@ -608,7 +645,7 @@ responsables.
</p> </p>
<div class="metainformation">Auteur : Marie-Lan Nguyen, Marc Mezzarobba, Antoine Amarilli. <date value="from git" /></div> <div class="metainformation">Auteur : Marie-Lan Nguyen, Marc Mezzarobba, Antoine Amarilli, Lucas Verney. <date value="from git" /></div>
</body> </body>
</html> </html>

View file

@ -14,7 +14,9 @@
Certains sites Internet ne sont accessibles que depuis certains Certains sites Internet ne sont accessibles que depuis certains
ordinateurs, serveurs ou domaines très précis. Par exemple, pour accéder 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 à 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 de l'École. De même, pour accéder à certains articles avec l'abonnement de
l'École, il faut se connecter depuis 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 personnes autorisées pourront accéder à certaines données, après s'être
préalablement identifiées au moyen d'un mot de passe. préalablement identifiées au moyen d'un mot de passe.
</p> </p>
@ -36,7 +38,7 @@
<ol> <ol>
<li>ouvrir une connexion sécurisée avec ce serveur (par exemple <li>ouvrir une connexion sécurisée avec ce serveur (par exemple
sas, à l'ENS) ;</li> sas.eleves.ens.fr, à l'ENS) ;</li>
<li>dire à votre navigateur de se brancher sur cette <li>dire à votre navigateur de se brancher sur cette
connexion ;</li> connexion ;</li>
<li>vous connecter à des sites comme si vous étiez sur ce <li>vous connecter à des sites comme si vous étiez sur ce
@ -57,7 +59,8 @@
<h3>Avec Linux ou Mac OS X</h3> <h3>Avec Linux ou Mac OS X</h3>
<p>Avec Linux ou tout autre dérivé d'UNIX (BSD, Solaris, Mac OS X, <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.</p> 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> <ol>
@ -75,7 +78,7 @@
commande</strong> suivante (faites un copier-coller si vous commande</strong> suivante (faites un copier-coller si vous
voulez être sûr de ne pas faire d'erreur) : voulez être sûr de ne pas faire d'erreur) :
<pre><span class="prompt">toto@ordinateur $</span> ssh -N -T -L 3128:www-cache.ens.fr:3128 <strong><em>monlogin</em></strong>@sas.eleves.ens.fr</pre> <pre><span class="prompt">toto@ordinateur $</span> ssh -ND 3128 <strong><em>monlogin</em></strong>@sas.eleves.ens.fr</pre>
<div class="attention"> <div class="attention">
Attention ! Attention !
@ -94,13 +97,15 @@
tunnel SSH. Donnez votre <strong>mot de passe</strong>. La tunnel SSH. Donnez votre <strong>mot de passe</strong>. La
première fois, on vous demandera si vous acceptez la première fois, on vous demandera si vous acceptez la
clef SSH, afin d'éviter toute tentative d'usurper l'identité de clef SSH, afin d'éviter toute tentative d'usurper l'identité de
sas.eleves&nbsp;: vérifiez que le fingerprint indiqué est bien 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" et répondez « Yes ». "d2:2f:2d:e6:22:17:16:1c:54:5f:e3:9a:0b:88:db:37" et répondez « Yes ».
<div class="encadre">Petite explication technique : la <div class="encadre">Petite explication technique : la
commande indiquée plus haut demande au serveur commande indiquée plus haut demande à ssh de créer un tunnel dynamique entre
www-cache.ens.fr de nous envoyer ce qu'on lui demande par son la machine locale et la machine distante (sas.eleves.ens.fr) en utilisant le port 3128.
port 3128 sur notre 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> </div>
</li> </li>
@ -109,6 +114,12 @@
vous pouvez passer à la section suivante. (Il est normal que ssh ne vous 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 rende pas la main, ou qu'il vous rende la main sans ouvrir de shell sur
sas.) sas.)
<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> </li>
</ol> </ol>
@ -185,7 +196,8 @@
<p>Que vous utilisiez Linux, Mac OS, Windows, FreeBSD ou autre, <p>Que vous utilisiez Linux, Mac OS, Windows, FreeBSD ou autre,
vous avez maintenant ouvert le tunnel. Le signe qu'il est ouvert, vous avez maintenant ouvert le tunnel. Le signe qu'il est ouvert,
c'est la fenêtre de terminal ouverte.</p> 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 <p>Il reste à emprunter ce tunnel. Pour cela, vous devrez configurer
votre navigateur pour lui dire d'utiliser votre navigateur pour lui dire d'utiliser
@ -211,11 +223,17 @@
/> />
</p> </p>
<p>Indiquez à votre navigateur que vous voulez <strong>utiliser un <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 proxy</strong>, en cliquant sur « <code>Manual proxy
configuration</code> », puis en configuration</code> », puis en
tapant <code>localhost</code> comme proxy HTTP, tapant <code>localhost</code> comme proxy HTTP,
et <code>3128</code> comme port :</p> et <code>3128</code> comme port :</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="tunnel6.png" alt="Paramètres de connection dans <p> <img src="tunnel6.png" alt="Paramètres de connection dans
Firefox" /> Firefox" />
@ -319,7 +337,7 @@ emprunté. Il suffit pour cela de :</p>
d'« Accès réservé aux postes de l'ENS ».</p> d'« Accès réservé aux postes de l'ENS ».</p>
<div class="metainformation"> <div class="metainformation">
Auteurs : Baptiste Mélès, Lionel Fourquaux. Auteurs : Baptiste Mélès, Lionel Fourquaux, Lucas Verney.
<date value="from git" /> <date value="from git" />
</div> </div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 31 KiB