From 2f067a014a208a56fc27dacab1fb9c9a59f7967f Mon Sep 17 00:00:00 2001 From: mlnguyen Date: Tue, 8 Jul 2003 09:23:29 +0000 Subject: [PATCH] =?UTF-8?q?Ajout=20d'une=20doc=20sur=20ssh.=20On=20cr?= =?UTF-8?q?=C3=A9e=20une=20page=20d'index=20pour=20loin=20et=20on=20transf?= =?UTF-8?q?=C3=A8re=20la=20doc=20sur=20FTP=20d'internet/=20=C3=A0=20intern?= =?UTF-8?q?et/loin/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added Files: ftp.tml index.tml ssh.tml --- internet/loin/ftp.tml | 236 ++++++++++++++++++++++ internet/loin/index.tml | 37 ++++ internet/loin/ssh.tml | 425 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 698 insertions(+) create mode 100644 internet/loin/ftp.tml create mode 100644 internet/loin/index.tml create mode 100644 internet/loin/ssh.tml diff --git a/internet/loin/ftp.tml b/internet/loin/ftp.tml new file mode 100644 index 0000000..de56022 --- /dev/null +++ b/internet/loin/ftp.tml @@ -0,0 +1,236 @@ + + + + +FTP + + + +

FTP : transférer des fichiers

+ +

Introduction

+ +

+Le FTP (pour File Transfer Protocol, protocole de transfert de +fichiers) est un service Internet utilisé pour transférer des fichiers d'une +machine vers une autre. FTP a deux usages : +

+ + + +

+Les programmes ftp et ncftp sur les machines Unix +sont adaptés à ces deux usages. On parlera ici de ncftp 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. +

+ +

+&icone.note; +Concrètement, le nom de login d'une connexion FTP anonyme est ftp +ou anonymous. 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 ». +

+ +

Le FTP non anonyme

+ +

+ncftp 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 login de la connexion. Pour cela, tapez dans un +terminal : +

+ +
+ncftp -u login nom-de-la-machine
+
+ +

+en remplaçant login par votre login sur la machine distante, +et nom-de-la-machine par le nom de cette machine. Par exemple, Toto +veut se connecter à Jourdan pour récupérer des fichiers; il tape : +

+ +
+ncftp -u toto vedette.ens.fr
+
+ +

+ncftp 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 +interprétateur de commande (shell), et +vous pouvez utiliser la plupart des commandes Unix fondamentales sur les +fichiers et les +répertoires, comme +ls, cd, rm, mkdir, +rmdir. Vous pouvez ainsi vous déplacer dans les +répertoires distants (si vous avez le droit de le faire). +

+ +

+Nombre de commandes existent aussi avec la lettre l devant (ce +qui donne lls, lcd, ...), 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 : +

+ +

Récupérer

+ +

+get 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 : +

+ +
+get -z fichier-distant nom-du-fichier-local
+
+ +

Envoyer

+ +

+put permet de copier un fichier de la machine locale vers la +machine distante. Elle s'utilise exactement comme get. +

+ +

+&icone.attention; +Des problèmes peuvent apparaitre si vous faites des transferts entre machine +utilisant des systèmes d'exploitation différents (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, ncftp +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 : +

+ + + +

+Pour quitter ncftp, utilisez la commande quit. On +vous demandera alors si vous voulez garder la machine dans les marque-page, +éventuellement avec le mot de passe. +

+ +

Le FTP anonyme

+ +

+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 -u. +ncftp se charge de donner anomymous 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 +(rm, put, mkdir...), mais cela peut +arriver. +

+ +

+Il est possible de passer en ligne de commande de ncftp une URL +de la forme +ftp://machine/chemin-de-repertoires/. +ncftp 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). +

+ +

+N'ont été décrites que les commandes de base de ncftp, qui est un +outil puissant. Consultez le manuel de +ncftp pour plus de détails. +

+ +

Quelques sites anonymes

+ + + +

+Afin de faciliter les recherches entre les différents sites FTP, un logiciel +nommé archie (ou xarchie) 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. +

+ +

FTP sous Macintosh et Windows

+ +

+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 : +

+ +

Sous Windows

+ +

+Le programme lancé depuis une fenêtre de commande DOS s'appelle +ftp et s'utilise un peu comme ncftp (en moins +bien). +

+ +

Sous Macintosh

+ +

+Le programme s'appelle Fetch. Vous en trouverez une présentation dans les +cours de +l'informatique littéraire. +

+ +

+Ces programmes vous permettent une connexion non anonyme, ce que Netscape fait +difficilement. +

+ +
+Auteur : Dominique Quatravaux, Émilia Robin. Dernière modification le +.
+ + + diff --git a/internet/loin/index.tml b/internet/loin/index.tml new file mode 100644 index 0000000..7d9ff22 --- /dev/null +++ b/internet/loin/index.tml @@ -0,0 +1,37 @@ + + + + + Connexion distante + + + +

Connexion à distance

+ +

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.

+ + + +
Auteur : Marie-Lan Nguyen. Dernière +modification : le .
+ + + \ No newline at end of file diff --git a/internet/loin/ssh.tml b/internet/loin/ssh.tml new file mode 100644 index 0000000..0aea1a4 --- /dev/null +++ b/internet/loin/ssh.tml @@ -0,0 +1,425 @@ + + + + + ssh + + + +

Connexion à distance sécurisée

+ +

+Il existe plusieurs protocoles Internet permettant de se connecter à +un ordinateur distant : telnet, les r-commandes +(rlogin, rsh ou encore rcp), +ssh (Secure Shell). Alors que +telnet et les r-commandes font circuler les informations +en clair sur le réseau (voir notre documentation sur les dangers de +telnet), ssh est beaucoup plus +sûr : +

+ + + +

+Pour ces deux raisons, nous vous conseillons vivement +d'abandonner telnet et +rlogin pour adopter ssh. 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. +

+ +

Se connecter

+ +

+L'utilisation de ssh pour se connecter à une machine est extrêmement +simple sous Unix et Linux. Pour MS Windows et MacOS, reportez-vous à +notre documentation sur les dangers de telnet, +nous vous y indiquons quels programmes vous pouvez utiliser pour faire +du ssh. +

+ +
+drakkar ~ $ ssh <login>@<nom de la machine>
+
+ +

+Ou bien : +

+ +
+drakkar ~ $ ssh <nom de la machine> -l <login>
+
+ +

+Vous pouvez utiliser aussi bien le nom de la machine +(clipper.ens.fr, horus.ens.fr, etc.) que son +adresse IP (pour clipper, 129.199.121.1). +

+ +

Si vous avez le même login sur les deux machines en question, ce +n'est pas la peine de le mentionner, tapez simplement : +

+ +
+drakkar ~ $ ssh <nom de la machine>
+
+ +

+Si c'est la première fois que vous vous connectez par ssh +sur cette machine, vous verrez un message tel que celui-ci : +

+ +
+drakkar ~ $ 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)? 
+
+ +

+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. ssh vous dira alors : +

+ +
+Warning: Permanently added 'machine.monlabo.fr,111.222.333.4' (RSA1) to
+the list of known hosts.
+
+ +

+Ce qui signifie que ssh ne vous embêtera plus à poser la +question. +

+ +

Authentification par mot de passe

+ +

+La façon la plus simple de s'identifier est le mot de passe. Par +défaut, ssh vous le réclamera. +

+ +
+clipper ~ $ ssh machine.monlabo.fr
+toto@machine's password: 
+
+ +

+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 Ctrl+u 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 « Permission denied. » et il faudra +recommencer. +

+ +

Authentification par clef publique

+ +

+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 ssh +sur une machine distante sans avoir à taper de mot de passe. +

+ +

Générer la clef

+ +

+Pour ce faire, commencez par taper la commande ssh-keygen +(comme key generator) sur la machine +locale (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 $HOME/.ssh/identity : +

+ +
+drakkar ~ $ 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): 
+
+ +

Appuyez sur Enter pour accepter la +localisation de la clef. ssh-keygen vous demande ensuite +une « passphrase » (é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 : +

+ + + +

Que vous tapiez une phrase ou pas, à la fin vous verrez 

+ +
+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
+
+ +

Que faire de la clef

+ +

+Si l'on récapitule, ssh-keygen a généré deux +clefs :

+ + + +

+Maintenant, sur la machine distante, allez dans le +répertoire .ssh et éditez le fichier +authorized_keys : ajoutez à la fin, et sur +une seule ligne (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à ! +

+ +

Utiliser ssh-agent

+ +

+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 ssh-agent. +

+ +

D'abord, il faut lancer ssh-agent, 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, +ssh-agent 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 : +

+ +
+machine ~ $ ssh-agent startx
+
+ +

+Quand vous vous loguez à distance, c'est plutôt : +

+ +
+machine ~ $ exec ssh-agent $SHELL
+
+ +

+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 ssh-add. On vous demande +alors votre phrase de passe : +

+ +
+machine ~ $ ssh-add
+Need passphrase for /home/toto/.ssh/identity (toto@machine)
+Enter passphrase:
+Identity added: /home/toto/.ssh/identity (toto@machine)
+
+ +

C'est tout !

+ +

Exécution d'une commande à distance

+ +

+Vous pouvez également utiliser ssh 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. +

+ +
+machine ~ $ ssh clipper.ens.fr date
+Fri Jul  4 12:01:49 MET DST 2003
+
+ +

+N'oubliez pas de préciser toto@machine si vos logins sont +différents entre les deux machines. +

+ + +

Message d'erreur

+ +

+Il est possible que vous voyiez un jour le message d'erreur suivant : +

+ +
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@       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.
+
+ +

+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 ssh, 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. +

+ + +

Transférer des fichiers

+ +

Il y a d'autres commandes associées à ssh qui vous +permettent, de manière tout aussi sûre, de transférer des fichiers +d'une machine à une autre. scp (Secure +Copy) a un fonctionnement aussi simple que celui de +ssh. +

+ +

De la machine locale à la machine distante

+ +

Pour envoyer des fichiers de votre machine locale à la machine +distante, faites : +

+ +
+clipper ~ $ scp <mon ou mes fichiers> machine.monlabo.fr:
+
+ +

+Attention, n'oubliez pas les deux points à la fin. Vous +devrez taper votre mot de passe (sauf si vous utilisez +l'authentification par clef publique, voir ci-dessus), puis +ssh se lancera dans le transfert en vous indiquant sa +progression : +

+ +
+clipper ~ $ scp tagada.txt machine.monlabo.fr:
+toto@machine.monlabo.fr's password: 
+tagada.txt       100% |***************************************| 2263       00:00    
+
+ + +

+Pour énumérer les fichiers à copier, mettez-les simplement à la suite, +séparés par une espace, sans virgule. +

+ + +

Pour transférer un répertoire entier, il faut +utiliser l'option -r (comme recursive), +sinon ssh vous dira « <répertoire>: not a regular +file ». +

+ +
+clipper ~ $ scp -r <répertoire> machine.monlabo.fr:
+
+ +

+Dans ces premiers examples, le(s) fichier(s) sera ou seront copié(s), +avec le même nom 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 tagada.txt en +coincoin.txt : +

+ +
+clipper ~ $ scp tagada.txt machine.monlabo.fr:coincoin.txt
+
+ +

+Maintenant, nous allons envoyer notre fichier tagada.txt +à un endroit précis sur le compte distant, dans le répertoire +$HOME/divers/blagues : +

+ +
+clipper ~ $ scp tagada.txt machine.monlabo.fr:divers/blagues
+
+ +

De la machine distante à la machine locale

+ +

Pour rapatrier des fichiers de la machine distante à votre machine +locale, la même syntaxe est utilisée, mais inversée : +

+ +
+clipper ~ $ scp machine.monlabo.fr:tagada.txt .
+
+ +

+Le . (point) à la fin signifie que scp devra mettre le +fichier ici, dans le répertoire dans lequel vous vous trouvez +actuellement. Évidemment, vous pouvez lui indiquer un autre +répertoire : +

+ +
+clipper ~ $ scp machine.monlabo.fr:tagada.txt divers
+
+ +

+Et ainsi de suite, vous pouvez appliquez les mêmes techniques que pour +le transfert machine locale -> machine distante, décrites ci-dessus. +

+ +
Auteur : Marie-Lan Nguyen. Dernière +modification : le .
+ + + \ No newline at end of file