Ajout d'une doc sur ssh. On crée une page d'index pour loin et on transfère
la doc sur FTP d'internet/ à internet/loin/ Added Files: ftp.tml index.tml ssh.tml
This commit is contained in:
parent
b91b0cc74f
commit
2f067a014a
3 changed files with 698 additions and 0 deletions
236
internet/loin/ftp.tml
Normal file
236
internet/loin/ftp.tml
Normal file
|
@ -0,0 +1,236 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
|
||||
"tuteurs://DTD/tml.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>FTP</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>FTP : transférer des fichiers</h1>
|
||||
|
||||
<h2><a name="intro">Introduction</a></h2>
|
||||
|
||||
<p>
|
||||
Le FTP (pour <em>File Transfer Protocol</em>, protocole de transfert de
|
||||
fichiers) est un service Internet utilisé pour transférer des fichiers d'une
|
||||
machine vers une autre. <code>FTP</code> a deux usages :
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>Envoyer des fichiers</strong> (<em>upload</em>) : on peut
|
||||
transférer des fichiers d'un compte d'un machine vers un compte d'une autre
|
||||
machine. Cela fonctionne de façon très voisine d'une connexion à distance
|
||||
depuis une machine sur une autre. En particulier, il faut avoir un compte et
|
||||
un mot de passe sur la machine distante (ce n'est pas nécessaire sur la
|
||||
machine locale si celle-ci est un Mac ou un PC sous Windows).
|
||||
</li>
|
||||
<li><strong>Récupérer des fichiers</strong> (<em>download</em>) : on
|
||||
peut récuperer sur Internet des fichiers utiles pour sa machine. Par exemple,
|
||||
beaucoup de distributions Linux sont disponibles directement et gratuitement
|
||||
par FTP. De nombreux utilitaires, jeux, programmes corrigeant des erreurs sont
|
||||
aussi disponibles de façon libre par FTP. On parle pour cet usage de «FTP
|
||||
anonyme», car l'utilisateur n'a pas de compte sur la machine distante, mais
|
||||
utilise un compte public.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Les programmes <code>ftp</code> et <code>ncftp</code> sur les machines Unix
|
||||
sont adaptés à ces deux usages. On parlera ici de <code>ncftp</code> car
|
||||
c'est le plus pratique. D'autres logiciels existent, sous Unix, DOS ou
|
||||
Macintosh. Certains, comme Netscape, ne sont réellement adaptés qu'au FTP
|
||||
anonyme.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
&icone.note;
|
||||
Concrètement, le nom de login d'une connexion FTP anonyme est <code>ftp</code>
|
||||
ou <code>anonymous</code>. La plupart des serveurs FTP anonymes demandent si on
|
||||
rentre ces logins l'adresse de courriers électroniques de l'utilisateur en mot
|
||||
de passe. La connexion n'est donc pas à proprement parler « anonyme ».
|
||||
</p>
|
||||
|
||||
<h2><a name="nonanonyme">Le FTP non anonyme</a></h2>
|
||||
|
||||
<p>
|
||||
<code>ncftp</code> suppose par défaut que vous cherchez à vous connecter d'une
|
||||
façon anonyme à la machine distante. Il faut lui préciser le contraire en lui
|
||||
indiquant le <em>login</em> de la connexion. Pour cela, tapez dans un
|
||||
<a href="&url.jargon;#xterm">terminal</a> :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
ncftp -u <em>login</em> <em>nom-de-la-machine</em>
|
||||
</pre>
|
||||
|
||||
<p class="continue">
|
||||
en remplaçant <code>login</code> par votre login sur la machine distante,
|
||||
et <code>nom-de-la-machine</code> par le nom de cette machine. Par exemple, Toto
|
||||
veut se connecter à Jourdan pour récupérer des fichiers; il tape :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
ncftp -u toto vedette.ens.fr
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<code>ncftp</code> vous demandera alors votre mot de passe sur la machine
|
||||
distante. Une fois ceci effectué, vous êtes connecté à la machine distante (si
|
||||
votre mot de passe était correct). L'invite ressemble alors à celle d'un
|
||||
<a href="&url.jargon;#shell">interprétateur de commande (shell)</a>, et
|
||||
vous pouvez utiliser la plupart des commandes Unix fondamentales sur les
|
||||
<a href="&url.tuteurs;unix/fichiers.html">fichiers</a> et les
|
||||
<a href="&url.tuteurs;unix/repertoires.html">répertoires</a>, comme
|
||||
<code>ls</code>, <code>cd</code>, <code>rm</code>, <code>mkdir</code>,
|
||||
<code>rmdir</code>. Vous pouvez ainsi vous déplacer dans les
|
||||
répertoires distants (si vous avez le droit de le faire).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Nombre de commandes existent aussi avec la lettre <code>l</code> devant (ce
|
||||
qui donne <code>lls</code>, <code>lcd</code>, ...), ce qui signifie que ces
|
||||
commandes doivent être executées sur la machine locale. Vous pouvez ainsi
|
||||
vous déplacer à la fois sur la machine distante et la machine locale. Pour
|
||||
faire des transferts, deux commandes existent principalement :
|
||||
</p>
|
||||
|
||||
<h3>Récupérer</h3>
|
||||
|
||||
<p>
|
||||
<code>get</code> permet de ramener un fichier de la machine distance vers la
|
||||
machine locale. Vous pouvez mettre plusieurs noms de fichiers à la suite
|
||||
pour ramener plusieurs fichiers. Si vous voulez ramener un fichier tout en
|
||||
changeant son nom, utilisez l'option -z :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
get -z <em>fichier-distant</em> <em>nom-du-fichier-local</em>
|
||||
</pre>
|
||||
|
||||
<h3>Envoyer</h3>
|
||||
|
||||
<p>
|
||||
<code>put</code> permet de copier un fichier de la machine locale vers la
|
||||
machine distante. Elle s'utilise exactement comme <code>get</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
&icone.attention;
|
||||
Des problèmes peuvent apparaitre si vous faites des transferts entre machine
|
||||
utilisant des <strong>systèmes d'exploitation différents</strong> (comme
|
||||
Unix et Windows). En particulier, les passages à la ligne ne sont pas codés
|
||||
pareil sous ces deux systèmes d'exploitation. Par défaut, <code>ncftp</code>
|
||||
ne modifie pas les fichiers transférés, et un fichier texte ramené sous Unix
|
||||
depuis Windows pourra présenter des « ^M » à la fin de chaque ligne
|
||||
(tandis qu'un fichier texte transféré dans l'autre sens ne fera pas le
|
||||
retour chariot à la fin des lignes). Deux commandes, à taper avant la
|
||||
commande de transfert, servent à modifier cela :
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li> <code>ascii</code> précise à <code>ncftp</code> de faire la
|
||||
conversion.</li>
|
||||
<li> À l'inverse, si on veut s'assurer qu'aucune tentative de conversion ne
|
||||
sera faite (si vous transférez des programmes ou des fichiers compressés),
|
||||
utilisez la commande <code>bin</code> avant de faire le transfert.</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Pour quitter <code>ncftp</code>, utilisez la commande <code>quit</code>. On
|
||||
vous demandera alors si vous voulez garder la machine dans les marque-page,
|
||||
éventuellement avec le mot de passe.
|
||||
</p>
|
||||
|
||||
<h2><a name="anonyme">Le FTP anonyme</a></h2>
|
||||
|
||||
<p>
|
||||
Il n'y a pas de réelle différence entre une connexion anonyme ou non anonyme,
|
||||
si ce n'est qu'il n'est pas nécessaire d'utiliser l'option <code>-u</code>.
|
||||
<code>ncftp</code> se charge de donner <code>anomymous</code> comme login,
|
||||
et votre adresse de courier électronique comme mot de passe. Vous pouvez
|
||||
alors utiliser les commandes exactement comme dans une connexion non
|
||||
anonyme. Notez que vous n'aurez que rarement l'occasion d'utiliser des
|
||||
commandes qui modifient le contenu du disque de la machine distante
|
||||
(<code>rm</code>, <code>put</code>, <code>mkdir</code>...), mais cela peut
|
||||
arriver.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Il est possible de passer en ligne de commande de <code>ncftp</code> une URL
|
||||
de la forme
|
||||
<code>ftp://<em>machine</em>/<em>chemin-de-repertoires</em>/</code>.
|
||||
<code>ncftp</code> se charge alors d'arriver directement dans le répertoire
|
||||
considéré s'il existe. Un telle URL peut aussi être utilisée avec Netscape
|
||||
(à la place de l'URL des pages Web).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
N'ont été décrites que les commandes de base de <code>ncftp</code>, qui est un
|
||||
outil puissant. Consultez le <a href="&url.jargon;#RTFM">manuel</a> de
|
||||
<code>ncftp</code> pour plus de détails.
|
||||
</p>
|
||||
|
||||
<h2><a name="exemples">Quelques sites anonymes</a></h2>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<code>ftp.jussieu.fr</code> contient une quantité de logiciels telle qu'il est
|
||||
illusoire de tous les détailler ici. En vrac, on y trouve plusieurs
|
||||
distributions à jour de Linux, de nombreux utilitaires Unix libres, des
|
||||
distributions de TeX et LaTeX (installables sous Windows ou Macintosh), etc...
|
||||
Nombre de logiciels installés chez <em>gourous</em> viennent de ce site.
|
||||
</li>
|
||||
<li>
|
||||
<code>ftp.funet.fi</code> contient de nombreux miroirs d'autres sites
|
||||
(c'est-à-dire qu'il recopie régulièrement d'autres sites pour que leur contenu
|
||||
soit plus facilement accessible), ce qui le rend très utile pour les
|
||||
utilisateurs européens (ce site est en Finlande) pour qui les connexions avec
|
||||
les sites américains est lente.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Afin de faciliter les recherches entre les différents sites FTP, un logiciel
|
||||
nommé <code>archie</code> (ou <code>xarchie</code>) existe. Son usage est
|
||||
toutefois assez malaisé. Une bonne méthode est de demander autour de soi
|
||||
(dans forum par exemple) si quelqu'un ne sait pas où trouver ce que vous
|
||||
cherchez.
|
||||
</p>
|
||||
|
||||
<h2><a name="macwin">FTP sous Macintosh et Windows</a></h2>
|
||||
|
||||
<p>
|
||||
La machine distante d'une connexion FTP (le serveur) est presque toujours une
|
||||
machine sous Unix. Mais la machine locale (le client) peut être sous Macintosh
|
||||
ou Windows :
|
||||
</p>
|
||||
|
||||
<h3>Sous Windows</h3>
|
||||
|
||||
<p>
|
||||
Le programme lancé depuis une fenêtre de commande DOS s'appelle
|
||||
<code>ftp</code> et s'utilise un peu comme <code>ncftp</code> (en moins
|
||||
bien).
|
||||
</p>
|
||||
|
||||
<h3>Sous Macintosh</h3>
|
||||
|
||||
<p>
|
||||
Le programme s'appelle Fetch. Vous en trouverez une présentation dans les
|
||||
<a href="http://barthes.ens.fr/CIL/doc-IU/cours-IU.html#4">cours de
|
||||
l'informatique littéraire</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Ces programmes vous permettent une connexion non anonyme, ce que Netscape fait
|
||||
difficilement.
|
||||
</p>
|
||||
|
||||
<div class="metainformation">
|
||||
Auteur : Dominique Quatravaux, Émilia Robin. Dernière modification le
|
||||
<date value="$Date: 2003-07-08 09:23:29 $" />. </div>
|
||||
|
||||
</body>
|
||||
</html>
|
37
internet/loin/index.tml
Normal file
37
internet/loin/index.tml
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
|
||||
"tuteurs://DTD/tml.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Connexion distante</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>Connexion à distance</h1>
|
||||
|
||||
<p>L'un des plus anciens aspects de l'Internet, c'est la connexion à
|
||||
distance d'une machine à l'autre. En pratique, la connexion à distance
|
||||
vous permet de lire votre mail sur clipper, et de manière générale
|
||||
utiliser votre compte à l'ENS, alors que vous n'êtes pas physiquement
|
||||
dans une salle informatique.</p>
|
||||
|
||||
<ul>
|
||||
<li> pourquoi il vaut mieux <a
|
||||
href="&url.tuteurs;internet/dangers_telnet.html">ne pas utiliser
|
||||
telnet</a>. Les connexions à distance posent un problème de sécurité :
|
||||
un pirate peut essayer d'intercepter votre connexion pour récupérer
|
||||
vos données, ou gagner un accès à votre compte. <code>Telnet</code>
|
||||
n'est pas un outil sûr.</li>
|
||||
|
||||
<li> <a href="ssh.html">ssh</a>, en revanche, est un outil simple et
|
||||
sûr pour vous connecter</li>
|
||||
|
||||
<li> le <a href="ftp.html">transfert de fichiers par FTP</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="metainformation">Auteur : Marie-Lan Nguyen. Dernière
|
||||
modification : le <date value="$Date: 2003-07-08 09:23:29 $" />.</div>
|
||||
|
||||
</body>
|
||||
</html>
|
425
internet/loin/ssh.tml
Normal file
425
internet/loin/ssh.tml
Normal file
|
@ -0,0 +1,425 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
|
||||
"tuteurs://DTD/tml.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>ssh</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>Connexion à distance sécurisée</h1>
|
||||
|
||||
<p>
|
||||
Il existe plusieurs protocoles Internet permettant de se connecter à
|
||||
un ordinateur distant : <code>telnet</code>, les r-commandes
|
||||
(<code>rlogin</code>, <code>rsh</code> ou encore <code>rcp</code>),
|
||||
<code>ssh</code> (<i lang="la">Secure Shell</i>). Alors que
|
||||
<code>telnet</code> et les r-commandes font circuler les informations
|
||||
en clair sur le réseau (voir notre documentation sur les <a
|
||||
href="&url.tuteurs;internet/danger_telnet.html">dangers de
|
||||
<code>telnet</code></a>), <code>ssh</code> est beaucoup plus
|
||||
sûr :
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li> le client (par exemple, vous) et le serveur (clipper)
|
||||
s'authentifient mutuellement, ce qui évite que des pirates se fassent
|
||||
passer pour l'un ou pour l'autre</li>
|
||||
<li> les données échangées sur le réseau par le biais de
|
||||
<code>ssh</code> sont chiffrées, ce qui garantit leur confidentialité</li>
|
||||
</ul>
|
||||
|
||||
<p class="continue">
|
||||
Pour ces deux raisons, nous vous conseillons vivement
|
||||
d'<strong>abandonner <code>telnet</code> et
|
||||
<code>rlogin</code></strong> pour adopter <code>ssh</code>. Le
|
||||
piratage, ça n'existe pas que dans les films. Vous pensez peut-être
|
||||
que rien sur votre compte n'intéresse un pirate, et que donc il n'est
|
||||
pas utile de prendre vos précautions. Vous avez tort à deux
|
||||
titres : le pirate peut se servir de votre compte pour attaquer
|
||||
une autre machine... Bonne chance alors pour convaincre la DST que ce
|
||||
n'était pas vous. Ensuite, en vous exposant au danger, vous mettez
|
||||
ensuite en danger les autres utilisateurs de l'ENS. Alors soyez
|
||||
responsables.
|
||||
</p>
|
||||
|
||||
<h2>Se connecter</h2>
|
||||
|
||||
<p>
|
||||
L'utilisation de <code>ssh</code> pour se connecter à une machine est extrêmement
|
||||
simple sous Unix et Linux. Pour MS Windows et MacOS, reportez-vous à
|
||||
notre documentation sur les <a
|
||||
href="&url.tuteurs;internet/danger_telnet.html">dangers de telnet</a>,
|
||||
nous vous y indiquons quels programmes vous pouvez utiliser pour faire
|
||||
du <code>ssh</code>.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">drakkar ~ $</span> <code>ssh</code> <login>@<nom de la machine>
|
||||
</pre>
|
||||
|
||||
<p class="continue">
|
||||
Ou bien :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">drakkar ~ $</span> ssh <nom de la machine> -l <login>
|
||||
</pre>
|
||||
|
||||
<p class="continue">
|
||||
Vous pouvez utiliser aussi bien le nom de la machine
|
||||
(<code>clipper.ens.fr</code>, <code>horus.ens.fr</code>, etc.) que son
|
||||
adresse IP (pour clipper, <code>129.199.121.1</code>).
|
||||
</p>
|
||||
|
||||
<p>Si vous avez le même login sur les deux machines en question, ce
|
||||
n'est pas la peine de le mentionner, tapez simplement :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">drakkar ~ $</span> ssh <nom de la machine>
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Si c'est la première fois que vous vous connectez par <code>ssh</code>
|
||||
sur cette machine, vous verrez un message tel que celui-ci :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">drakkar ~ $</span> ssh toto@machine.monlabo.fr
|
||||
The authenticity of host 'machine.monlabo.fr (111.222.333.4)' can't be established.
|
||||
RSA1 key fingerprint is 1z:2y:3x:4w:56:78:98:78:ab:cd:ef:01:23:45:67:89.
|
||||
Are you sure you want to continue connecting (yes/no)?
|
||||
</pre>
|
||||
|
||||
<p class="continue">
|
||||
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
|
||||
continuer. <code>ssh</code> vous dira alors :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
Warning: Permanently added 'machine.monlabo.fr,111.222.333.4' (RSA1) to
|
||||
the list of known hosts.
|
||||
</pre>
|
||||
|
||||
<p class="continue">
|
||||
Ce qui signifie que <code>ssh</code> ne vous embêtera plus à poser la
|
||||
question.
|
||||
</p>
|
||||
|
||||
<h3>Authentification par mot de passe</h3>
|
||||
|
||||
<p>
|
||||
La façon la plus simple de s'identifier est le mot de passe. Par
|
||||
défaut, <code>ssh</code> vous le réclamera.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="clipper">clipper ~ $</span> ssh machine.monlabo.fr
|
||||
toto@machine's password:
|
||||
</pre>
|
||||
|
||||
<p class="continue">
|
||||
Il vous suffit de taper votre mot de passe. Attention, pour des
|
||||
raisons de sécurité (un coup d'œil sur l'écran de son voisin est
|
||||
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
|
||||
erreur dans votre mot de passe, faites <code>Ctrl+u</code> et retapez
|
||||
le en entier. Si vous avez tapé correctement votre mot de passe, vous
|
||||
aurez à votre disposition un shell sur la machine distante. Sinon,
|
||||
vous lirez « <i lang="en">Permission denied.</i> » et il faudra
|
||||
recommencer.
|
||||
</p>
|
||||
|
||||
<h3>Authentification par clef publique</h3>
|
||||
|
||||
<p>
|
||||
Une autre méthode utilise ce qu'on appelle une « clef publique »,
|
||||
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>
|
||||
sur une machine distante sans avoir à taper de mot de passe.
|
||||
</p>
|
||||
|
||||
<h4>Générer la clef</h4>
|
||||
|
||||
<p>
|
||||
Pour ce faire, commencez par taper la commande <code>ssh-keygen</code>
|
||||
(comme <i lang="en">key generator</i>) <strong>sur la machine
|
||||
locale</strong> (et pas sur la machine à distance). Le générateur de
|
||||
clefs va en générer deux, une clef publique et une clef privée. Il va
|
||||
placer la clef privée (sous forme chiffrée) dans un endroit qui, par
|
||||
défaut, est <code>$HOME/.ssh/identity</code> :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">drakkar ~ $</span> ssh-keygen
|
||||
Initializing random number generator...
|
||||
Generating p:
|
||||
...........................................................................
|
||||
..............................................++ (distance 2064)
|
||||
Generating q: ...............++ (distance 324)
|
||||
Computing the keys...
|
||||
Testing the keys...
|
||||
Key generation complete.
|
||||
Enter file in which to save the key
|
||||
(/users/00/litt/toto/.ssh/identity):
|
||||
</pre>
|
||||
|
||||
<p class="continue">Appuyez sur <code>Enter</code> pour accepter la
|
||||
localisation de la clef. <code>ssh-keygen</code> vous demande ensuite
|
||||
une « <i lang="en">passphrase</i> » (équivalent d'un mot de passe,
|
||||
mais sous forme de phrase). Cette phrase sert à fortifier la clef pour
|
||||
la rendre plus difficilement cassable. À partir de là, deux
|
||||
solutions :
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<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
|
||||
retaper à chaque fois (voir plus bas)</li>
|
||||
<li> vous ne tapez pas de phrase (et appuyez seulement sur
|
||||
<code>Enter</code>), votre connexion sera moins sûre</li>
|
||||
</ul>
|
||||
|
||||
<p>Que vous tapiez une phrase ou pas, à la fin vous verrez </p>
|
||||
|
||||
<pre>
|
||||
Your identification has been saved in
|
||||
/users/00/litt/toto/.ssh/identity.
|
||||
Your public key is:
|
||||
1024 37
|
||||
123123123123123123123123123123123123123123123123123123123123123123123123123123123123123
|
||||
123123123123123123123123123123123123123123123123123123123123123123123123123123123123123
|
||||
123123123123123123123123123123123123 toto@machine
|
||||
Your public key has been saved in
|
||||
/users/00/litt/toto/.ssh/identity.pub
|
||||
</pre>
|
||||
|
||||
<h4>Que faire de la clef</h4>
|
||||
|
||||
<p class="continue">
|
||||
Si l'on récapitule, <code>ssh-keygen</code> a généré deux
|
||||
clefs :</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li> une clef privée (chiffrée si vous avez donné une phrase, non
|
||||
chiffrée sinon) qui est <code>$HOME/.ssh/identity</code> et qui n'est
|
||||
accessible qu'à vous</li>
|
||||
|
||||
<li> une publique (non chiffrée) qui est
|
||||
<code>$HOME/.ssh/identity.pub</code> et qui peut être lue par tout le
|
||||
monde</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Maintenant, sur la machine <strong>distante</strong>, allez dans le
|
||||
répertoire <code>.ssh</code> et éditez le fichier
|
||||
<code>authorized_keys</code> : ajoutez à la fin, et <strong>sur
|
||||
une seule ligne</strong> (attention aux éditeurs qui coupent les
|
||||
lignes) la clef publique que vous venez de générer. Procédez ainsi
|
||||
pour toutes les machines distantes auxquelles vous voulez vous
|
||||
connecter sans avoir à taper votre mot de passe. Et voilà !
|
||||
</p>
|
||||
|
||||
<h4>Utiliser <code>ssh-agent</code></h4>
|
||||
|
||||
<p>
|
||||
Si vous avez opté pour la solution « phrase de passe », bravo, votre
|
||||
connexion est plus sûre. Mais vous devez taper à chaque fois ladite
|
||||
phrase... Solution, utiliser <code>ssh-agent</code>.
|
||||
</p>
|
||||
|
||||
<p>D'abord, il faut lancer <code>ssh-agent</code>, qui gère les clefs
|
||||
d'identification. Si vous êtes logué dans une salle informatique de
|
||||
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
|
||||
le lancer vous-même. Comme l'agent est disponible dans tous les
|
||||
programmes qui découlent, on le lance au début d'une session. Par
|
||||
exemple, quand vous êtes en mode texte et que vous lancez le serveur
|
||||
X :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">machine ~ $</span> ssh-agent startx
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Quand vous vous loguez à distance, c'est plutôt :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">machine ~ $</span> exec ssh-agent $SHELL
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Une fois lancé, l'agent vous suit dans toutes vos connexions à
|
||||
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
|
||||
alors votre phrase de passe :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">machine ~ $</span> ssh-add
|
||||
Need passphrase for /home/toto/.ssh/identity (toto@machine)
|
||||
Enter passphrase:
|
||||
Identity added: /home/toto/.ssh/identity (toto@machine)
|
||||
</pre>
|
||||
|
||||
<p>C'est tout !</p>
|
||||
|
||||
<h3>Exécution d'une commande à distance</h3>
|
||||
|
||||
<p>
|
||||
Vous pouvez également utiliser <code>ssh</code> pour exécuter une
|
||||
commande à distance. Par exemple, vous voulez, de votre machine
|
||||
personnelle, connaître l'heure sur clipper, pour savoir si votre
|
||||
machine est en retard, en avance ou à l'heure.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">machine ~ $</span> ssh clipper.ens.fr date
|
||||
Fri Jul 4 12:01:49 MET DST 2003
|
||||
</pre>
|
||||
|
||||
<p class="continue">
|
||||
N'oubliez pas de préciser <code>toto@machine</code> si vos logins sont
|
||||
différents entre les deux machines.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>Message d'erreur</h3>
|
||||
|
||||
<p>
|
||||
Il est possible que vous voyiez un jour le message d'erreur suivant :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||
@ WARNING: HOST IDENTIFICATION HAS CHANGED! @
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
|
||||
Someone could be eavesdropping on you right now (man-in-the-middle
|
||||
attack)!
|
||||
It is also possible that the host key has just been changed.
|
||||
Please contact your system administrator.
|
||||
</pre>
|
||||
|
||||
<p class="continue">
|
||||
Ce message signifie que la clef ssh (l'identification) de la machine
|
||||
distante a changé. En effet, à chaque fois que vous vous connectez à
|
||||
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
|
||||
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
|
||||
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.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Transférer des fichiers</h2>
|
||||
|
||||
<p>Il y a d'autres commandes associées à <code>ssh</code> qui vous
|
||||
permettent, de manière tout aussi sûre, de transférer des fichiers
|
||||
d'une machine à une autre. <code>scp</code> (<i lang="en">Secure
|
||||
Copy</i>) a un fonctionnement aussi simple que celui de
|
||||
<code>ssh</code>.
|
||||
</p>
|
||||
|
||||
<h3>De la machine locale à la machine distante</h3>
|
||||
|
||||
<p>Pour envoyer des fichiers de votre machine locale à la machine
|
||||
distante, faites :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper ~ $</span> scp <mon ou mes fichiers> machine.monlabo.fr:
|
||||
</pre>
|
||||
|
||||
<p class="continue">
|
||||
Attention, <em>n'oubliez pas les deux points à la fin</em>. Vous
|
||||
devrez taper votre mot de passe (sauf si vous utilisez
|
||||
l'authentification par clef publique, voir ci-dessus), puis
|
||||
<code>ssh</code> se lancera dans le transfert en vous indiquant sa
|
||||
progression :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper ~ $</span> scp tagada.txt machine.monlabo.fr:
|
||||
toto@machine.monlabo.fr's password:
|
||||
tagada.txt 100% |***************************************| 2263 00:00
|
||||
</pre>
|
||||
|
||||
|
||||
<p class="continue">
|
||||
Pour énumérer les fichiers à copier, mettez-les simplement à la suite,
|
||||
séparés par une espace, sans virgule.
|
||||
</p>
|
||||
|
||||
|
||||
<p>Pour transférer un <strong>répertoire</strong> entier, il faut
|
||||
utiliser l'option <code>-r</code> (comme <i lang="en">recursive</i>),
|
||||
sinon ssh vous dira « <répertoire>: <i lang="en">not a regular
|
||||
file</i> ».
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper ~ $</span> scp -r <répertoire> machine.monlabo.fr:
|
||||
</pre>
|
||||
|
||||
<p class="continue">
|
||||
Dans ces premiers examples, le(s) fichier(s) sera ou seront copié(s),
|
||||
avec le <em>même nom</em> sur la machine distante, à la racine de
|
||||
votre compte. Nous allons compliquer progressivement les
|
||||
choses. Maintenant, vous voulez changer le nom du fichier en cours de
|
||||
route, renommer <code>tagada.txt</code> en
|
||||
<code>coincoin.txt</code> :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper ~ $</span> scp tagada.txt machine.monlabo.fr:coincoin.txt
|
||||
</pre>
|
||||
|
||||
<p class="continue">
|
||||
Maintenant, nous allons envoyer notre fichier <code>tagada.txt</code>
|
||||
à un endroit précis sur le compte distant, dans le répertoire
|
||||
<code>$HOME/divers/blagues</code> :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper ~ $</span> scp tagada.txt machine.monlabo.fr:divers/blagues
|
||||
</pre>
|
||||
|
||||
<h3>De la machine distante à la machine locale</h3>
|
||||
|
||||
<p>Pour rapatrier des fichiers de la machine distante à votre machine
|
||||
locale, la même syntaxe est utilisée, mais inversée :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper ~ $</span> scp machine.monlabo.fr:tagada.txt .
|
||||
</pre>
|
||||
|
||||
<p class="continue">
|
||||
Le . (point) à la fin signifie que <code>scp</code> devra mettre le
|
||||
fichier <em>ici</em>, dans le répertoire dans lequel vous vous trouvez
|
||||
actuellement. Évidemment, vous pouvez lui indiquer un autre
|
||||
répertoire :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper ~ $</span> scp machine.monlabo.fr:tagada.txt divers
|
||||
</pre>
|
||||
|
||||
<p class="continue">
|
||||
Et ainsi de suite, vous pouvez appliquez les mêmes techniques que pour
|
||||
le transfert machine locale -> machine distante, décrites ci-dessus.
|
||||
</p>
|
||||
|
||||
<div class="metainformation">Auteur : Marie-Lan Nguyen. Dernière
|
||||
modification : le <date value="$Date: 2003-07-08 09:23:29 $" />.</div>
|
||||
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue