Logiciels d'administ.. - Parent Directory
Logiciels d'administ.. - Parent Directory
Logiciels d'administ.. - Parent Directory
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Tuto sur PuTTY<br />
Logiciel<br />
Utilisé pour<br />
L’Administration<br />
D’IPCOP<br />
1.4.x
Logiciel d’administration pour IPCOP 1.4.x<br />
Tables des matières<br />
Chapitre 1 : Qu’est ce que PuTTY ? .......................................................................................... 8<br />
I. Que sont SSH, Telnet et Rlogin ? ....................................................................................... 8<br />
II. En quoi SSH, Telnet et Rlogin sont-ils différents les uns des autres ?.............................. 9<br />
Chapitre 2 : Pour mettre le pied à l’étrier................................................................................. 10<br />
I. Démarrer une session........................................................................................................ 10<br />
II. Vérification de la clé d'hôte (SSH uniquement) .............................................................. 11<br />
III. Ouverture de session ...................................................................................................... 12<br />
IV. Une fois la session ouverte............................................................................................. 12<br />
V. Fermeture de la session ................................................................................................... 13<br />
Chapitre 3 : Utilisation de PuTTY ........................................................................................... 14<br />
I. Pendant votre session........................................................................................................ 14<br />
I.1. Copier/Coller du texte................................................................................................ 14<br />
I.2. Navigation dans l’historique de la session................................................................. 15<br />
I.3. Le menu système........................................................................................................ 15<br />
I.3.2 Commandes Spéciales ......................................................................................... 16<br />
I.3.3 Démarrage d’une nouvelle session ...................................................................... 17<br />
I.3.4 Modification de vos réglages de session.............................................................. 17<br />
I.3.5 Tout copier dans le presse papier......................................................................... 18<br />
I.3.6 Effacement et réinitialisation du terminal............................................................ 18<br />
I.3.7 Mode plein écran.................................................................................................. 18<br />
II. Création d’un fichier journal de votre session................................................................. 18<br />
III. Modification de la configuration de votre jeu de caractère............................................ 19<br />
IV. Chiffrement du traffic X11 (« X11 Fowardind » dans SSH)......................................... 19<br />
V. Transfert de ports (« port forwarding ») dans SSH)........................................................ 20<br />
VI.Etablissement de connexions TCP brute......................................................................... 22<br />
VII. Connexion par port série local...................................................................................... 22<br />
VIII. Utilisation de PuTTY en ligne de commande ............................................................. 23<br />
VIII.1 Lancement d’une session en ligne de commande ................................................. 23<br />
VIII.2 –cleanup................................................................................................................. 23<br />
VIII.3 Options standard de la ligne de commande........................................................... 24<br />
VIII.3.1 – load : charge une session sauvegardée ........................................................ 24<br />
VIII.3.2 Choix du protocole : -ssh, -telnet, -rlogin, -raw ............................................. 24<br />
VIII.3.3 –v : augmente la verbosité.............................................................................. 24<br />
VIII.3.4 –l : indique le nom d’utilisateur ..................................................................... 25<br />
VIII.3.5 –L, -R et –D configuration des transferts de ports ......................................... 25<br />
VIII.3.6 –m lire dans un fichier une commande ou un script à lancer sur une machine<br />
distante ......................................................................................................................... 26<br />
VIII.3.7 –p : indique le numéro de port........................................................................ 26<br />
VIII.3.8 –pw : indique un mot de passe ....................................................................... 26<br />
VIII.3.9 –agent et –noagent : contrôler l’utilisation de Pageant pour l’authentification<br />
...................................................................................................................................... 27<br />
VIII.3.10 –A et –a : contrôler le transfert d’agent........................................................ 27<br />
VIII.3.11 –X et –x contrôle du chiffrement du traffic X11.......................................... 27<br />
VIII.3.12 –t et –T : contrôler l’affectation de pseudo terminal .................................... 27<br />
VIII.3.13 –N supprimer le lancement d’une invite de commande ou d’une commande<br />
...................................................................................................................................... 28<br />
VIII.3.14 –nc établir une connexion réseau distante plutôt que de lancer une invite de<br />
commandes ou commandes.......................................................................................... 28<br />
VIII.3.15 –c : activer la compression ........................................................................... 29<br />
2
Logiciel d’administration pour IPCOP 1.4.x<br />
VIII.3.16 -1 et -2 spécifier la version du protocole SSH.............................................. 29<br />
VIII.3.17 -4 et -6 : spécifié la version du protocole IP................................................. 29<br />
VIII.3.18 –i : Spécifie la clé privé SSH........................................................................ 29<br />
VIII.3.19 –pgpfp affiche les signatures des clés PGP .................................................. 29<br />
Chapitre 4 : configuration de PuTTY....................................................................................... 30<br />
I. Panneau « session » .......................................................................................................... 30<br />
I.1 Champ « Host Name » (nom d’hôte).......................................................................... 30<br />
I.2 Enregistrement de sessions et rechargement de sessions sauvegardées ..................... 31<br />
I.3 Bouton radio « close Windows on exit » (fermer la fenêtre en quittant).................... 32<br />
II. Le panneau « Loggin » .................................................................................................... 33<br />
II.1 Champ « Log file Name » (nom du fichier journal).................................................. 34<br />
II.2 Bouton radio « What to do if the log file already exists »(que faire si le fichier<br />
journal existe déjà) ........................................................................................................... 34<br />
II.3 Case à cocher « Flush log file frequently »(vider le fichier journal fréquemment) .. 34<br />
II.4 Case à cocher « Option specific to SSH packet logging »(Options spécifique à la<br />
journalisation des paquets SSH)....................................................................................... 35<br />
II.4.1 Case à cocher « Omit known password field »( omettre les champs dont on sait<br />
qu'ils correspondent à des mots de passe') ................................................................... 35<br />
II.4.2 Case à Cocher « Omit session data ».................................................................. 36<br />
III. Panneau « terminal »...................................................................................................... 36<br />
III.1 Case à cocher « Auto wrap mode initially on » (mode ‘retour à la ligne<br />
automatiquement ‘ initialement actif) .............................................................................. 36<br />
III.2 Case à cocher « DEC Origin Mode Initially on (mode ‘origine DEC’ initialement<br />
actif) ................................................................................................................................. 37<br />
III.3 Case à cocher « Implicit CR in every LF »(retour chariot implicite après chaque<br />
passage à la ligne) ............................................................................................................ 37<br />
III.4 Case à cocher « Use background color to erase screen »(utiliser la couleur d’arrière<br />
plan pour éffacer l’écran) ................................................................................................. 38<br />
III.5 Case à cocher « Enable blinking text »(activer le texte clignotant) ......................... 38<br />
III.6 Champs « Answerback to^E »(reponse au caractère contrôle E)............................. 39<br />
III.7 Bouton radio « Local echo » .................................................................................... 39<br />
III.8 Bouton radio « Local line editing »(édition de ligne en local)................................. 39<br />
III.9 Impression contrôlée par la machine distante « Remote-controller printing)......... 40<br />
Chapitre 5 : Utilisation de PSCP pour transférer des fichiers de façon sûr.............................. 41<br />
I.Démarrage de PSCP........................................................................................................... 41<br />
II Utilisation de PSCP .......................................................................................................... 41<br />
II.1 Les bases.................................................................................................................... 42<br />
II.1.1 source (les fichiers à transferer).......................................................................... 43<br />
II.1.2 Target (l’emplacement cible, destination des fichiers)....................................... 43<br />
II.2 Les options................................................................................................................. 44<br />
II.2.1 –ls faire la liste des fichiers distants (list remote files)....................................... 44<br />
II.2.2 –p conserver les attributs des fichiers (preserve file attibut) .............................. 44<br />
II.2.3 –q ne pas afficher les statistiques ....................................................................... 44<br />
II.2.4 –r copie les fichiers de façon récursive .............................................................. 45<br />
II.2.5 –batch fonctionnement sans intervention de l’utilisateur ................................... 45<br />
II.2.6 –sfcp, -scp forcer l’utilisation d’un protocole en particulier .............................. 45<br />
II.3 Valeurs de retour ....................................................................................................... 46<br />
II.4Utilisation de l’authentification à clé publique PSCP ................................................ 46<br />
Chapitre 6 : Utilisation de PSFTP pour transférer des fichiers de façon sûr............................ 47<br />
I.Démarrage de PSFTP......................................................................................................... 47<br />
I.1 –b : indiquer le nom d’un fichier de commande par lots ............................................ 48<br />
I.2 –bc : Afficher les commandes par lots à mesure qu’elles sont exécutées .................. 48<br />
I.3 –be : poursuivre le traitement par lot en cas d’erreur ................................................. 49<br />
I.4 –Batch : éviter les commandes interactive.................................................................. 49<br />
II Utilisation de PSFTP ........................................................................................................ 49<br />
3
Logiciel d’administration pour IPCOP 1.4.x<br />
II.1 Règles générales d'utilisation des guillemets dans les commandes PSFTP .............. 49<br />
II.2 Les caractères génériques dans PSFTP ..................................................................... 50<br />
II.3 La commande open : pour démarrer une session..................................................... 50<br />
II.4 La commande quit : pour terminer votre session ................................................... 51<br />
II.5 La commande close : pour fermer votre connexion............................................... 51<br />
II.6 La commande help : pour obtenir rapidement de l'aide en ligne ............................ 51<br />
II.7 Les commandes cd et pwd : pour changer de répertoire de travail sur la machine<br />
distante ............................................................................................................................. 51<br />
II.8 Les commandes lcd et lpwd : pour changer de répertoire de travail sur la machine<br />
locale ................................................................................................................................ 51<br />
II.9 La commande get : pour transférer un fichier depuis la machine distante.............. 52<br />
II.10 La commande put : pour transférer un fichier vers la machine distante................ 52<br />
II.11 Les commandes mget et mput : pour transférer plusieurs fichiers à la fois, dans un<br />
sens ou dans l'autre........................................................................................................... 53<br />
II.12 Les commandes reget et reput : pour reprendre des transferts de fichiers après<br />
interruption ....................................................................................................................... 54<br />
II.13 La commande dir : pour lister les fichiers de la machine distante........................ 54<br />
II.14 La commande chmod : pour modifier les permissions de fichiers sur la machine<br />
distante ............................................................................................................................. 54<br />
II.15 La commande del : effacer des fichiers sur la machine distante ........................... 56<br />
II.16 La commande mkdir : pour créer des répertoires sur la machine distante............ 56<br />
II.17 La commande rmdir : pour effacer des répertoires sur la machine distante......... 56<br />
II.18 La commande mv : pour déplacer et renommer des fichiers sur la machine distante<br />
.......................................................................................................................................... 58<br />
II.19 La commande ! : lancer une commande Windows sur la machine locale.............. 58<br />
III. Utilisation de l'authentification par clé publique / clé privée avec PSFTP .................... 58<br />
Chapitre 7 : utilisation de l'outil Plink de connexion en ligne de commande .......................... 60<br />
I. Lancement de Plink........................................................................................................... 60<br />
II. Utilisation de Plink .......................................................................................................... 60<br />
II.1 Utilisation de Plink pour l'ouverture de sessions interactives ................................... 61<br />
II.2Utilisation de Plink pour l'établissement de connexions automatisées....................... 62<br />
II.3 Options en ligne de commande de Plink ................................................................... 63<br />
II.3.1 -batch : désactiver toutes les invites interactives ........................................... 64<br />
II.3.2 -s : pour lancer une commande à distante dans un sous-système SSH............. 64<br />
III. Utilisation de Plink dans des fichiers batchs et dans des scripts.................................... 64<br />
IV. Utilisation de Plink avec CVS ....................................................................................... 64<br />
V Utilisation de Plink avec WinCVS................................................................................... 65<br />
Chapitre 8 : utilisation de clés publiques pour l'authentification SSH..................................... 66<br />
I. Introduction à l'authentification par clé publique ............................................................. 66<br />
II. Utilisation de PuTTYgen, le générateur de clés de PuTTY ............................................ 67<br />
II.1 Génération d'une nouvelle clé.................................................................................... 67<br />
II.2 Choix du type de clé .................................................................................................. 68<br />
II.3 Choix de la taille ( et donc de la solidité ) de la clé................................................... 69<br />
II.4 Le bouton 'Generate' .................................................................................................. 69<br />
II.5 La ligne 'Key fingerprint' ( empreinte de la clé )....................................................... 70<br />
II.6 Choix d'un commentaire pour votre clé..................................................................... 71<br />
II.7 Choix d'une phrase de passe pour votre clé............................................................... 71<br />
II.8 Sauvegarde de votre clé privée dans un fichier sur disque........................................ 73<br />
II.9 Sauvegarde de votre clé publique dans un fichier sur disque.................................... 73<br />
II.10 Champ 'Public key for pasting into OpenSSH authorized_keys file' ( clé publique à<br />
copier/coller dans le fichier authorized_keys de OpenSSH )........................................... 73<br />
II.11 Rechargement d'une clé privée ................................................................................ 74<br />
II.12 Utilisation de clés privées de formats différents ..................................................... 74<br />
4
Logiciel d’administration pour IPCOP 1.4.x<br />
III. Se préparer à l'authentification par clé publique ............................................................ 75<br />
Chapitre 9 : utilisation de Pageant pour l'authentification ....................................................... 77<br />
I. Pour commencer à se servir de Pageant............................................................................ 77<br />
II. La fenêtre principale de Pageant...................................................................................... 78<br />
II.1 La liste déroulante des clés........................................................................................ 78<br />
II.2 Le bouton 'Add Key' ( ajouter une clé )..................................................................... 78<br />
II.3 Le bouton 'Remove Key' ( retirer la clé )................................................................... 78<br />
III. La ligne de commande de Pageant................................................................................. 79<br />
III.1 Faire en sorte que Pageant charge automatiquement des clés au démarrage ........... 79<br />
III.2 Faire en sorte que Pageant lance un autre programme............................................. 79<br />
IV. Utilisation du transfert d'agent ( "agent forwarding" )................................................... 80<br />
V. Considérations liées à la sécurité..................................................................................... 81<br />
Annexe A : Foire aux questions sur PuTY............................................................................... 83<br />
I. Introduction....................................................................................................................... 83<br />
I.1 PuTTY, c'est quoi, exactement ?................................................................................. 83<br />
II. Fonctionnalités de PuTTY............................................................................................... 83<br />
II.1 Est-ce que PuTTY supporte le SSH-2 ? .................................................................... 83<br />
II.2Est-ce que PuTTY sait lire les fichiers de clés privées SSH-2 de OpenSSH ou de<br />
ssh.com ? ...................................................................................................................... 84<br />
II.3Est-ce que PuTTY supporte le SSH-1 ? ..................................................................... 84<br />
II.4 Est-ce que PuTTY supporte l'écho local ?................................................................. 84<br />
II.5 Est-ce que PuTTY conserve sa configuration d'une fois sur l'autre, pour ne pas qu'il<br />
n'y ait besoin de tout refaire à chaque utilisation ? .......................................................... 84<br />
II.6 Est-ce que PuTTY sait stocker sa configuration dans un fichier de configuration ?. 84<br />
II.7Est-ce que PuTTY supporte le mode plein écran, comme les fenêtres de commandes<br />
DOS ? ............................................................................................................................... 84<br />
II.8 Est-ce que PuTTY sait se souvenir de mon mot de passe, pour que je n'aie pas à le<br />
taper à chaque fois ? ......................................................................................................... 85<br />
II.9 Y'a t'il une option pour désactiver ces ennuyeux messages au sujet des clés d'hôte ?<br />
.......................................................................................................................................... 85<br />
II.10 Allez-vous écrire un serveur SSH, et le diffuser avec PuTTY, pour aller avec le<br />
client ? .............................................................................................................................. 86<br />
II.11 PSCP et PSFTP savent-ils transférer des fichiers en mode ASCII ?....................... 86<br />
III. Versions de PuTTY destinées à d'autres systèmes d'exploitation.................................. 86<br />
III.1 Pour quels autres systèmes existe-t-il des versions de PuTTY, en dehors de<br />
Windows 32 bits ? ............................................................................................................ 87<br />
III.2 Y'a-t-il une version Unix ? ....................................................................................... 87<br />
III.3 Quel est l'intérêt de la version Unix, puisqu'Unix a déjà OpenSSH ?...................... 88<br />
III.4 Y'aura-t-il un jour une version Windows CE ou PocketPC ? .................................. 88<br />
III.5 Y'a-t-il une version Windows 3.1 ?.......................................................................... 88<br />
III.6 Y'aura-t-il un jour une version Mac ?....................................................................... 89<br />
III.7 Y'aura-t-il un jour une version EPOC ? ................................................................... 89<br />
IV. Intégration de PuTTY dans d'autres programmes.......................................................... 89<br />
IV.1 Le code de SSH ou de Telnet est-t-il disponible sous forme de DLL ?................... 89<br />
IV.2 Le code de SSH ou de Telnet est-t-il disponible sous forme de composant Visual<br />
Basic ? .............................................................................................................................. 89<br />
IV.3 Comment puis-je utiliser PuTTY pour établir une connexion SSH depuis un autre<br />
programme ?..................................................................................................................... 90<br />
V. Le fonctionnement de PuTTY en détail .......................................................................... 90<br />
V.1 Quel type de terminal PuTTY utilise-t-il ?................................................................ 90<br />
V.2 Où PuTTY stocke-t-il ses données ? ......................................................................... 90<br />
VI. Comment faire pour... ?.................................................................................................. 91<br />
VI.1 Quel nom d'utilisateur et/ou quel mot de passe dois-je utiliser ?............................. 91<br />
VI.2 Quelles commandes puis-je taper dans ma fenêtre de terminal PuTTY ? ............... 91<br />
5
Logiciel d’administration pour IPCOP 1.4.x<br />
VI.3 Comment faire pour que la fenêtre de PuTTY soit agrandie au maximum dès le<br />
départ ? ............................................................................................................................. 92<br />
VI.4 Comment puis-je créer un raccourci Windows pour démarrer directement une<br />
session sauvegardée en particulier ?................................................................................. 92<br />
VI.5 Comment faire pour démarrer une session SSH directement à partir de la ligne de<br />
commande ?...................................................................................................................... 92<br />
VI.6 Comment puis-je faire des copier/coller entre PuTTY et d'autres applications<br />
Windows ?........................................................................................................................ 92<br />
VI.7 Comment faire pour utiliser dans PSCP, PSFTP et dans Plink, des fonctionnalités<br />
de PuTTY telles que les clés publiques, le passage par un proxy, ou le choix du<br />
chiffrement, etc. ?............................................................................................................. 93<br />
VI.8 Comment dois-je faire pour utiliser PSCP.EXE ? Lorsque je double-clique dessus,<br />
une fenêtre apparaît et disparaît instantanément !............................................................ 93<br />
VI.9 Comment dois-je faire, avec PSCP, pour copier un fichier dont le nom comporte des<br />
espaces ?........................................................................................................................... 93<br />
VII. Résolution de problèmes............................................................................................... 94<br />
VII.1 Pourquoi est-ce que j'ai le message 'Incorrect MAC received on packet' ?............ 94<br />
VII.2 Pourquoi est-ce que j'ai le message 'Fatal: Protocol error: Expected control record'<br />
dans PSCP ? ..................................................................................................................... 95<br />
VII.3 J'ai cliqué sur une couleur dans le panneau de configuration 'Colours', et la couleur<br />
n'a pas changé dans mon terminal.................................................................................... 95<br />
VII.4 Sous Windows 95, Plink dit qu'il n'arrive pas à trouver WS2_32.DLL. ................ 96<br />
VII.5 Quand j'essaye d'établir une connexion SSH-2, PuTTY me dit 'Out of memory' et<br />
plante. ............................................................................................................................... 96<br />
VII.6 Quand j'essaye de transférer un fichier avec PSCP ou PSFTP, le programme me dit<br />
'Out of memory' et plante. ................................................................................................ 96<br />
VII.7 Les transferts de fichiers avec PSFTP sont bien plus lents qu'avec PSCP. ............ 97<br />
VII.8 Lorsque j'utilise des applications dont l'affichage est en couleur, j'ai des zones<br />
noires là où il devrait y avoir de la couleur, ou vice versa............................................... 97<br />
VII.9 Lorsque je change certains réglages de mon terminal, rien ne se passe. ................ 97<br />
VII.10 Mes sessions PuTTY se ferment toutes seules après une période d'inactivité. .... 98<br />
VII.11 Les connexions réseau de PuTTY partent trop rapidement en 'time out' lorsque la<br />
liaison réseau est interrompue momentanément. ............................................................. 98<br />
VII.12 Quand je fais cat sur un fichier binaire, j'obtiens 'PuTTYPuTTYPuTTY' à<br />
répétition sur ma ligne de commande. ............................................................................. 99<br />
VII.13 Quand je fais cat sur un fichier binaire, le titre de la fenêtre se met à afficher<br />
n'importe quoi................................................................................................................... 99<br />
VII.14 Mon clavier cesse de fonctionner à partir du moment où PuTTY affiche l'invite<br />
'Password:' pour que je tape mon mot de passe.............................................................. 100<br />
VII.15 Quand j'utilise une application qui tourne sur la machine distante, certaines<br />
touches de fonction de mon clavier ne font pas ce que je voudrais. .............................. 100<br />
VII.16 Depuis que le serveur SSH de la machine distante a été mis à jour en OpenSSH<br />
3.1p1 / 3.4p1, je ne peux plus m'y connecter avec PuTTY............................................ 101<br />
VII.17 Pourquoi est-ce que j'ai le message 'Couldn't load private key from ...' ? Pourquoi<br />
PuTTY n'arrive-t-il pas à charger ma clé, alors que PuTTYgen y arrive bien, lui ?...... 101<br />
VII.18 Quand je suis connecté à une machine en Linux Red Hat 8.0, certains caractères<br />
ne s'affichent pas correctement. ..................................................................................... 102<br />
VII.19 Depuis que je suis passé à la version 0.54, le défilement en arrière ne fonctionne<br />
plus lorsque j'utilise screen............................................................................................. 102<br />
VII.20 Depuis que je suis passé en Windows XP Service Pack 2, je ne peux plus utiliser<br />
des adresses comme 127.0.0.2................................................................................. 103<br />
VII.21 On dirait qu'il manque un séparateur de répertoires ( un slash ) aux commandes<br />
PSFTP............................................................................................................................. 103<br />
VII.22 Vous voulez que je vous raconte celle du message 'Software caused connection<br />
abort' ? ............................................................................................................................ 103<br />
6
Logiciel d’administration pour IPCOP 1.4.x<br />
VII.23 Ma session SSH-2 se bloque pendant quelques secondes de temps à autre. ...... 104<br />
VII.24 PuTTY ne se lance pas. Windows me dit que la configuration de l'application est<br />
incorrecte........................................................................................................................ 104<br />
VIII. Questions liées à la sécurité....................................................................................... 104<br />
VIII.1 Est-ce prudent de ma part de télécharger et d'utiliser PuTTY sur un PC en libre<br />
accès ? ............................................................................................................................ 104<br />
VIII.2 PuTTY laisse-t-il « des choses » sur le PC ? Comment puis-je faire le ménage<br />
après utilisation ?............................................................................................................ 105<br />
VIII.3 Comment se fait-il que PuTTY supporte maintenant le DSA, alors que le site web<br />
a dit pendant longtemps à quel point ce protocole est peu sûr ? .................................... 105<br />
VIII.4 Pageant ne pourrait-il pas utiliser VirtualLock() pour empêcher les clés<br />
privées d'être écrites sur le disque ? ............................................................................... 105<br />
IX. Questions d'ordre administratif .................................................................................... 106<br />
IX.1 Voulez-vous que je vous réserve un nom de domaine un peu plus sympa, comme<br />
www.putty.com, ou www.putty.org ? ............................................................................ 106<br />
IX.2 Seriez-vous intéressés par de l'hébergement gratuit pour le site web de PuTTY ? 106<br />
IX.3 Seriez-vous d'accord pour mettre sur le site de PuTTY un lien qui pointe vers mon<br />
site à moi ?...................................................................................................................... 106<br />
IX.4 Pourquoi ne mettez-vous pas PuTTY sur SourceForge ? ...................................... 107<br />
IX.5 Pourquoi est-ce que je n'arrive pas à m'inscrire à la liste de diffusion 'putty-bugs' ?<br />
........................................................................................................................................ 107<br />
IX.6 Si 'putty-bugs' n'est pas une liste de diffusion publique, est-ce qu'il en existe une ?<br />
........................................................................................................................................ 107<br />
IX.7 Comment est-ce que je peux faire un don à l'équipe de développement de PuTTY ?<br />
........................................................................................................................................ 108<br />
IX.8 Est-ce que je peux mettre PuTTY dans un CD ou un DVD offert avec un magazine,<br />
ou le distribuer conjointement avec d'autres logiciels ?................................................. 108<br />
IX.9 Pouvez-vous nous garantir par écrit contre d'éventuels problèmes de sécurité dans<br />
PuTTY ? ......................................................................................................................... 108<br />
IX.10 Pouvez-vous nous accorder par écrit la permission d'utiliser et de redistribuer<br />
PuTTY ? ......................................................................................................................... 109<br />
IX.1 1 Pouvez-vous nous garantir par écrit, de façon formelle, que nous avons le droit<br />
d'utiliser PuTTY ? .......................................................................................................... 110<br />
IX.12 Pouvez-vous nous garantir quelque chose par écrit ? .......................................... 110<br />
IX.1 3 Puisque vous ne voulez rien signer, pouvez-vous nous promettre que PuTTY<br />
restera en open source à l'avenir ?.................................................................................. 111<br />
IX.1 4 Pouvez-vous nous fournir des informations sur le contrôle des exportations, ou<br />
une certification FIPS de PuTTY ? ................................................................................ 111<br />
X Questions diverses.......................................................................................................... 112<br />
X.1 Est-ce que PuTTY est un portage d'OpenSSH ? Est-il dérivé d'OpenSSH d'une<br />
manière ou d'une autre ?................................................................................................. 112<br />
X.2 Où est-ce que je peux acheter le jouet « Putty » ?................................................... 112<br />
X.3 Que signifie le nom 'PuTTY' ? ................................................................................ 112<br />
X.4 Comment faut-il prononcer le nom 'PuTTY' ? ........................................................ 112<br />
7
Logiciel d’administration pour IPCOP 1.4.x<br />
Chapitre 1 : Qu’est ce que PuTTY ?<br />
PuTTY est un client SSH, Telnet et Rlogin libre pour les systèmes Windows 32 bits.<br />
I. Que sont SSH, Telnet et Rlogin ?<br />
Si vous savez déjà ce que sont SSH, Telnet et Rlogin, vous pouvez sans problème passer au<br />
Chapitre 2.<br />
SSH, Telnet et Rlogin sont trois manières différentes de faire la même chose : ouvrir une<br />
session sur un ordinateur Multi-Utilisateurs, depuis un autre ordinateur, via le réseau.<br />
Les systèmes d'exploitation Multi-Utilisateurs, tels qu'Unix et VMS, présentent généralement<br />
à l'utilisateur une interface en ligne de commande, qui ressemble assez à l'Invite de<br />
commandes ou aux Commandes MS-DOS de Windows. Le système affiche une invite, et<br />
vous tapez des commandes au clavier, que le système exécute.<br />
Avec ce type d'interface, il n'y a pas besoin d'être assis devant la machine qui va exécuter les<br />
commandes que l'on tape. Les commandes, et leurs résultats, peuvent transiter via un réseau,<br />
ce qui fait que vous pouvez être assis devant une machine et taper des commandes destinées à<br />
une ou plusieurs autre(s) machine(s).<br />
SSH, Telnet et Rlogin sont des protocoles réseau qui vous permettent de faire cela. Sur la<br />
machine devant laquelle vous êtes assis, vous utilisez ce qu'on appelle un client, qui établit<br />
une connexion réseau avec l'autre ordinateur (le serveur). La connexion réseau achemine les<br />
séquences de touches et les commandes que vous frappez sur le clavier de la machine cliente<br />
jusqu'au serveur, et vous ramène en retour les réponses du serveur.<br />
Ces protocoles peuvent également être utilisés pour d'autres types de sessions interactives. En<br />
particulier, il existe de nombreux 'bulletin boards', systèmes de conversation et autres MUDs<br />
(Multi User Dungeons) qui permettent l'accès via Telnet. Il y en a même quelques-uns qui<br />
acceptent les connexions SSH.<br />
SSH, Telnet et Rlogin vous seront utiles :<br />
• si vous disposez d'un compte utilisateur sur une machine Unix ou VMS, à laquelle<br />
vous voulez pouvoir accéder à distance<br />
• si votre fournisseur d'accès Internet vous fournit un compte permettant d'accéder en<br />
ligne de commande au serveur web (on appelle cela un compte Shell, le Shell en<br />
question étant le programme qui tourne sur la machine serveur, et exécute les<br />
commandes que vous lui envoyez).<br />
• ou si vous souhaitez utiliser un BBS (‘bulletin board system’), un système de<br />
conversation ou un MUD accessible via Telnet.<br />
En revanche, SSH, Telnet et Rlogin ne vous serviront à rien si :<br />
• vous n'utilisez que Windows. Les machines Windows ont leurs propres manières de se<br />
connecter les unes aux autres, et à moins que vous ne fassiez quelque chose qui sort de<br />
l'ordinaire, vous n'aurez pas l'usage des ces protocoles d'ouverture de session à<br />
distance.<br />
8
Logiciel d’administration pour IPCOP 1.4.x<br />
II. En quoi SSH, Telnet et Rlogin sont-ils différents les uns des autres ?<br />
La liste ci-dessous résume quelques-unes des différences entre SSH, Telnet et Rlogin :<br />
• SSH (ce qui signifie ‘Secure SHell’) est un protocole hautement sécurisé, de<br />
conception récente. Il fait appel à la cryptographie forte pour protéger votre connexion<br />
contre les écoutes, les détournements et autres attaques. Telnet et Rlogin sont tous<br />
deux des protocoles plus anciens, qui n'offrent qu'une sécurité minimale.<br />
• SSH et Rlogin vous permettent l'un comme l'autre d'ouvrir une session sur le serveur<br />
sans avoir à taper un mot de passe (toutefois, il faut savoir que la méthode employée<br />
par Rlogin pour cela n'est pas sécurisée, et permet à un attaquant d'accéder à votre<br />
compte utilisateur sur le serveur, tandis que la méthode employée par SSH est bien<br />
plus sûre, et que pour accéder à votre compte utilisateur sur le serveur, l'attaquant doit<br />
d'abord réussir à accéder à votre machine client).<br />
• SSH vous permet de vous connecter au serveur et de passer une commande dans la<br />
foulée, de façon à ce que le serveur exécute la commande et ferme la connexion tout<br />
seul, ce qui permet d'utiliser SSH pour des traitements automatisés, sans intervention<br />
humaine.<br />
Internet est un environnement hostile, et la sécurité est l'affaire de tous. Si vous vous<br />
connectez à une machine via Internet, alors nous vous recommandons d'utiliser SSH. Si le<br />
serveur auquel vous vous connectez ne gère pas le protocole SSH, essayez de persuader<br />
l'administrateur de ce serveur d'installer le nécessaire.<br />
Si la machine cliente et le serveur sont tous deux sur le même réseau, et si ce réseau est<br />
protégé par un (bon) pare-feu, il y a moins de danger à utiliser Telnet ou Rlogin, mais nous<br />
vous conseillons néanmoins d'utiliser SSH.<br />
9
Logiciel d’administration pour IPCOP 1.4.x<br />
Chapitre 2 : Pour mettre le pied à l’étrier<br />
Cette partie vous explique succinctement comment ouvrir une session interactive avec<br />
PuTTY, de la façon la plus simple qui soit.<br />
I. Démarrer une session<br />
Lorsque vous démarrez PuTTY, vous obtenez la boîte de dialogue ci-dessous :<br />
Cette boîte de dialogue vous permet de contrôler complètement le fonctionnement de PuTTY.<br />
Veuillez vous reporter au chapitre 4 pour des informations détaillées sur tout ce que vous<br />
pouvez configurer.<br />
En général, vous n'avez pas besoin de changer grand chose à la configuration par défaut. Pour<br />
ouvrir une session, la plus basique qui soit, tout ce que vous avez besoin de faire, c'est d'entrer<br />
quelques informations très simples.<br />
Dans le champ ‘Host Name’, tapez le nom d'hôte Internet du serveur auquel vous souhaitez<br />
vous connecter. Si vous ne savez pas quoi mettre, adressez-vous à la personne qui vous a<br />
fourni votre compte utilisateur.<br />
Ensuite, choisissez un protocole d'ouverture de session, parmi les boutons radio ‘Connection<br />
type’. Pour une session interactive, vous devriez choisir Telnet, Rlogin ou SSH. Si vous<br />
voulez connaître les différences entre ces trois protocoles, et si vous avez besoin de conseils<br />
pour savoir lequel utiliser, veuillez vous reporter à la partie II du chapitre 1. Le quatrième<br />
protocole, Raw, n'est pas utilisé pour les sessions interactives. Il ne sert que pour<br />
diagnostiquer d'autres services Internet (cf. partie VI du chapitre 6). Le cinquième protocole,<br />
Serial, sert à établir une connexion via une ligne série locale, et fonctionne de façon<br />
10
Logiciel d’administration pour IPCOP 1.4.x<br />
légèrement différente des autres : reportez-vous à la partie VII du chapitre 6 pour plus<br />
d'informations à ce sujet.<br />
Lorsque vous changez de protocole, le nombre figurant dans le champ ‘Port’ change<br />
également. C'est normal, parce que les différents services d'ouverture de session sont<br />
habituellement fournis par la machine serveur sur des ports réseau différents. La plupart des<br />
serveurs utilisent des numéros de ports standard, ce qui fait que vous n'aurez pas à modifier la<br />
valeur affichée dans le champ ‘Port’. Si toutefois votre serveur utilise des numéros de ports<br />
non standards pour les services d'ouverture de session, votre administrateur système doit<br />
normalement vous avoir dit lequel utiliser (par exemple, de nombreux MUDs font tourner le<br />
service Telnet sur un port autre que 23).<br />
Une fois que vous avez rempli les champs ‘Host Name’, ‘Protocol’, et éventuellement ‘Port’,<br />
vous êtes prêts à vous connecter. Cliquez sur le bouton ‘Open’, en bas de la boite de dialogue,<br />
et PuTTY essaiera d'établir la connexion au serveur.<br />
II. Vérification de la clé d'hôte (SSH uniquement)<br />
Si vous n'utilisez pas le protocole SSH, vous pouvez sauter cette partie sans problème.<br />
La première fois que vous utilisez SSH pour vous connecter à un serveur, vous verrez<br />
probablement un message qui ressemble à ceci :<br />
Cela fait partie du fonctionnement normal du protocole SSH, et cela sert à vous protéger d'une<br />
attaque réseau connue sous le nom de spoofing ( duperie ), qui consiste à détourner<br />
secrètement votre tentative de connexion vers un ordinateur autre que celui auquel vous<br />
voulez vous connecter, de façon à ce que le pirate qui est à l'origine de ce détournement<br />
puisse prendre connaissance de votre mot de passe, et s'en servir ensuite pour utiliser la<br />
machine à laquelle vous vouliez vous connecter, en se faisant passer pour vous.<br />
Pour empêcher cela, SSH affecte à chaque serveur un identifiant unique, que l'on appelle une<br />
clé d'hôte. Ces clés sont faites de telle façon qu'il ne soit pas possible pour une machine de se<br />
fabriquer une clé d'hôte correspondant à un autre serveur, et donc de façon à empêcher cette<br />
usurpation d'identité entre machines. Ainsi, si vous essayez de vous connecter à un serveur et<br />
qu'il envoie une clé d'hôte différente de celle que vous attendiez, PuTTY peut vous prévenir<br />
que le serveur distant n'est pas celui que vous pensez, et que vous faites peut-être l'objet d'une<br />
tentative de détournement de connexion.<br />
11
Logiciel d’administration pour IPCOP 1.4.x<br />
PuTTY garde trace, dans la base de registres de Windows, de la clé d'hôte de chaque serveur<br />
auquel vous vous connectez. Chaque fois que vous vous connectez à un serveur, il vérifie que<br />
la clé d'hôte envoyée par le serveur est bien la même que celle qu'il avait envoyée lors de la<br />
connexion précédente. Si ce n'est pas le cas, vous verrez s'afficher un avertissement, et vous<br />
aurez la possibilité d'abandonner la tentative de connexion avant même d'avoir envoyé à la<br />
machine distante quoi que ce soit de confidentiel (votre mot de passe, par exemple).<br />
Cependant, lorsque vous vous connectez à un serveur pour la toute première fois, PuTTY n'a<br />
aucun moyen de savoir si la clé d'hôte envoyée par la machine distante est la bonne, ou pas.<br />
C'est pourquoi il vous affiche l'avertissement ci-dessus, et vous demande si oui ou non, vous<br />
considérez pouvoir faire confiance à cette clé d'hôte.<br />
Cette décision vous appartient. Si vous vous connectez à une machine au sein d'un réseau<br />
d'entreprise, vous pouvez probablement considérer que les autres utilisateurs du réseau sont<br />
dignes de confiance, que les risques de détournement de connexion sont faibles, et choisir de<br />
faire confiance à la clé d'hôte reçue sans la vérifier. Si, au contraire, vous vous connectez à<br />
une machine distante via un réseau non digne de confiance, tel qu'Internet, alors vous devriez<br />
vérifier la clé d'hôte auprès de l'administrateur système de cette machine, par téléphone ou en<br />
personne (certains serveurs modernes ont plus d'une clé d'hôte : si l'administrateur système<br />
vous envoie plusieurs empreintes, vérifiez que celle affichée par PuTTY figure dans la liste,<br />
peu importe laquelle c’est).<br />
III. Ouverture de session<br />
Une fois que la connexion est établie, éventuellement après que la clé d'hôte du serveur ait été<br />
vérifiée, il va vous falloir ouvrir une session, probablement à l'aide d'un nom d'utilisateur et<br />
d'un mot de passe, que l'administrateur système de la machine distante a normalement dû vous<br />
fournir. Tapez le nom d'utilisateur et le mot de passe. Le serveur doit normalement vous<br />
accorder l'accès et vous donner la main. Si vous avez tapé votre mot de passe de travers, la<br />
plupart des serveurs vous permettront plusieurs essais.<br />
Si vous utilisez SSH, attention à ne pas faire d'erreur en tapant votre nom d'utilisateur, parce<br />
que vous ne pourrez plus le modifier après avoir appuyé sur Entrée : nombreux sont les<br />
serveurs SSH qui ne permettent pas de faire plusieurs tentatives d'ouverture de session avec<br />
des noms d'utilisateur différents. Si vous avez fait une erreur en saisissant votre nom<br />
d'utilisateur, vous êtes bon pour fermer PuTTY et recommencer.<br />
Si votre mot de passe est refusé, mais que vous êtes sûr de l'avoir tapé correctement, vérifiez<br />
que vous n'êtes pas en majuscules, parce que de nombreux serveurs, en particulier les<br />
machines Unix, font la différence entre majuscules et minuscules au moment de vérifier le<br />
mot de passe. Résultat, si la touche Verr. Maj. est active, votre mot de passe sera<br />
probablement refusé.<br />
IV. Une fois la session ouverte<br />
Une fois la session ouverte, ce qui se passe ensuite dépend du serveur. La plupart des serveurs<br />
affichent une sorte de message de bienvenue, puis affichent une invite de commandes, à partir<br />
de laquelle vous pouvez taper des commandes que le serveur va exécuter. Certains serveurs<br />
fournissent une aide en ligne, d'autres non. Si vous ne savez pas comment faire ensuite,<br />
demandez à votre administrateur système.<br />
12
V. Fermeture de la session<br />
Logiciel d’administration pour IPCOP 1.4.x<br />
Lorsque vous avez fini ce que vous aviez à faire sur le serveur, il faut vous déloguer en tapant<br />
la commande de fermeture de session. Cette commande varie d'un serveur à l'autre. En cas de<br />
doute, essayez logout ou exit, ou consultez un manuel, ou demandez à un administrateur<br />
système. Lorsque le serveur a pris en compte votre commande de fermeture de session, la<br />
fenêtre PuTTY doit normalement se fermer toute seule.<br />
Vous pouvez fermer une session PuTTY en cliquant sur le bouton de fermeture ( la croix en<br />
haut à droite ), mais cela risque de perturber le serveur, un peu comme si vous raccrochiez<br />
soudainement, en plein milieu d'une conversation téléphonique. Nous vous conseillons de ne<br />
pas le faire, sauf si la session est plantée et que vous ne pouvez pas faire autrement.<br />
13
Logiciel d’administration pour IPCOP 1.4.x<br />
Chapitre 3 : Utilisation de PuTTY<br />
Ce chapitre constitue une introduction générale aux caractéristiques un peu plus avancées de<br />
PuTTY (par rapport à ce que nous avons vu dans le chapitre 2). Si vous recherchez des<br />
informations très détaillées, c'est probablement dans le chapitre 4 que vous les trouverez.<br />
I. Pendant votre session<br />
Une bonne partie de ce qui fait la complexité et la richesse fonctionnelle de PuTTY se trouve<br />
dans les panneaux de configuration (il s'agit ici de la fenêtre qui apparaît quand on lance<br />
PuTTY, avec ses différentes possibilités de réglages, pas du panneau de configuration de<br />
Windows). Une fois que vous vous serez familiarisé avec cela, et que vous aurez lancé une<br />
session, les choses devraient être relativement simples. Néanmoins, il reste encore quelques<br />
fonctionnalités bien utiles qui méritent le coup d'oeil. C'est ce que nous allons voir<br />
maintenant.<br />
I.1. Copier/Coller du texte<br />
Souvent, pendant une session PuTTY, vous verrez à l'écran du texte que vous souhaiterez<br />
réutiliser. Comme la plupart des autres émulateurs de terminaux, PuTTY vous permet de<br />
copier/coller ce texte plutôt que d'avoir à le retaper. Ces opérations de copier/coller utilisent le<br />
presse-papiers de Windows, ce qui vous permet de copier/coller des URL ( par exemple )<br />
depuis votre session PuTTY vers un navigateur Web, ou de copier/coller depuis un traitement<br />
de texte ou un tableur vers une session PuTTY.<br />
Dans PuTTY, le copier/coller fonctionne entièrement à la souris. Pour copier du texte dans le<br />
presse-papiers, il vous suffit de cliquer avec le bouton gauche de la souris dans la fenêtre de<br />
terminal, de garder le bouton enfoncé, et de déplacer la souris pour sélectionner du texte.<br />
Lorsque vous relâchez le bouton gauche, le texte est placé automatiquement dans le pressepapiers.<br />
Il n'y a pas besoin d'appuyer sur CTRL C ou Ctrl-Ins. En fait, si vous appuyez sur<br />
CTRL C, PuTTY va envoyer un caractère CTRL C depuis votre session PuTTY jusqu'au<br />
serveur, ce qui va probablement provoquer l'interruption d'un processus.<br />
Pour coller, il faut utiliser le bouton droit (ou le bouton du milieu, si vous avez une souris<br />
trois boutons et que vous l'avez configurée, cf. section 4.11.2 ). Le fait d'appuyer sur Maj-<br />
Insert, ou de choisir ‘Paste’ dans le menu contextuel auquel on accède en faisant Ctrl + clic<br />
droit, a le même effet. Lorsque vous cliquez avec le bouton droit, PuTTY lit le contenu du<br />
presse-papiers de Windows, quel qu'il soit, et le colle dans votre session, exactement comme<br />
si ça avait été tapé au clavier ( donc attention si vous collez du texte mis en forme dans un<br />
éditeur de texte qui fait de l'indentation automatique : les espaces présents dans le texte que<br />
vous collez vont s'ajouter avec ceux mis par l'éditeur de texte, pour l'indentation automatique,<br />
et semer le bazar dans votre fichier : PuTTY ne peut rien contre cela ).<br />
Si vous faites un double-clic avec le bouton gauche, PuTTY sélectionne un mot entier. Si<br />
vous faites un double-clic, que vous gardez le bouton gauche enfoncé au deuxième clic, et que<br />
vous déplacez la souris, PuTTY sélectionne un ensemble de mots entiers ( vous pouvez<br />
configurer précisément ce que PuTTY considère comme faisant partie d'un mot :<br />
cf. section 4.11.5 ). Si vous faites un triple clic, ou un triple clic suivi d'un déplacement de la<br />
souris avec le bouton gauche enfoncé, alors PuTTY sélectionne une ligne entière ou un<br />
ensemble de lignes.<br />
14
Logiciel d’administration pour IPCOP 1.4.x<br />
Si vous voulez sélectionner une zone rectangulaire plutôt que d'avoir une sélection qui s'étend<br />
jusqu'au bout de chaque ligne, il faut tenir la touche Alt enfoncée lorsque vous sélectionnez<br />
(vous pouvez aussi configurer PuTTY pour que les sélections soient rectangulaires par défaut,<br />
et qu'il faille maintenir la touche Alt enfoncée pour obtenir le mode de fonctionnement<br />
normal : pour plus d'infos à ce sujet, voir la section 4.11.4).<br />
Si vous avez une souris à trois boutons, vous pouvez utiliser le bouton du milieu pour ajuster<br />
une sélection existante, si ce que vous avez sélectionné n'est pas exactement ce que vous<br />
vouliez (si vous avez configuré PuTTY pour coller avec le bouton du milieu, alors c'est le<br />
bouton droit qui sert à faire ces ajustements de sélection). Cliquez à l'écran (avec le bouton du<br />
milieu, ou avec le bouton droit, donc) : cela vous permet de prendre l'extrémité de la sélection<br />
qui est la plus proche de là où vous cliquez, et de la glisser/déposer ailleurs.<br />
Il est possible que le serveur demande à gérer les clics de souris jusque dans la fenêtre de<br />
PuTTY elle-même. Si cela se produit, le pointeur de la souris prend la forme d'une flèche, et<br />
les copier/coller à la souris ne fonctionnent que si l'on appuie sur la touche Maj (veuillez vous<br />
reporter aux sections 4.6.2 et 4.11.3 pour plus d'informations sur cette fonctionnalité et sur la<br />
manière de la configurer).<br />
I.2. Navigation dans l’historique de la session<br />
PuTTY garde trace du texte qui a disparu du haut de l'écran : si quelque chose apparaît à<br />
l'écran, et que ça défile trop vite pour que vous ayez le temps de le lire, vous pouvez utiliser la<br />
barre de défilement (l’ascenseur) à droite de la fenêtre pour revenir en arrière dans l'historique<br />
de la session et retrouver ce que vous cherchez.<br />
En plus de cette barre de défilement, vous pouvez aussi utiliser les combinaisons de touches<br />
Maj Page préc. et Maj-Page suiv. pour monter et descendre d'une page à la fois dans<br />
l'historique de la session. Et vous pouvez faire défiler ligne par ligne avec les touches Ctrl-<br />
Page préc. et Ctrl-Page suiv. Ces combinaisons de touches fonctionnent même si la barre de<br />
défilement n'est pas visible à l'écran.<br />
Par défaut, ce sont 200 lignes qui sont ainsi gardées en mémoire dans l'historique de la<br />
session. Vous pouvez augmenter (ou diminuer) cette valeur dans les options de configuration<br />
(cf. section 4.7.3).<br />
I.3. Le menu système<br />
Si vous cliquez avec le bouton gauche sur l'icône en haut à gauche de la fenêtre de terminal de<br />
PuTTY ( pas la toute première qui apparaît quand vous lancez PuTTY, celle qui apparaît une<br />
fois la connexion établie, dans laquelle le texte apparaît par défaut en blanc sur fond noir ), ou<br />
si vous faites un clic droit sur la barre de titre, cela fait apparaître le menu système standard de<br />
Windows, avec les commandes habituelles pour réduire la fenêtre en icône, pour la déplacer,<br />
la redimensionner ou la fermer.<br />
Le menu système de PuTTY contient quelques commandes supplémentaires, en plus des<br />
commandes standard Windows que nous venons de mentionner. Elles sont décrites en détail<br />
ci-dessous. Ces commandes sont également accessibles via un menu contextuel que vous<br />
pouvez faire apparaître en tenant la touche Ctrl enfoncée et en faisant un clic droit n'importe<br />
où dans la fenêtre de PuTTY.<br />
15
Logiciel d’administration pour IPCOP 1.4.x<br />
I.3.1 Le journal d’événement de PuTTY<br />
Si vous sélectionnez ‘Event Log’ dans le menu système, une petite fenêtre apparaît, dans<br />
laquelle PuTTY consigne les événements importants survenus au cours de la connexion. La<br />
majeure partie de ces événements se produit au lancement de la session, mais quelques uns<br />
peuvent avoir lieu à tout moment, et un ou deux surviennent à la toute fin de la session.<br />
Vous pouvez utiliser la souris pour sélectionner une ou plusieurs lignes dans le journal<br />
d'événements, puis cliquer sur le bouton 'Copy' pour les placer dans le presse-papiers. Quand<br />
vous signalez un bug, il est souvent utile de copier/coller le contenu du journal d'événements<br />
dans votre rapport de bug.<br />
I.3.2 Commandes Spéciales<br />
Selon le protocole utilisé pour la session en cours, il peut y avoir un sous-menu ‘Special<br />
commands’, avec des signaux particuliers, spécifiques au protocole, tels que le signal ‘break’,<br />
qui peuvent être envoyés au serveur, en plus des données normales. Leur effet précis dépend<br />
généralement du serveur. Dans l'état actuel des choses, seuls Telnet, SSH et les connexions<br />
série disposent de commandes spéciales.<br />
Le signal ‘break’ peut également être émis depuis le clavier, avec la combinaison de touches<br />
Ctrl-Break.<br />
Les commandes spéciales suivantes sont disponibles en Telnet :<br />
• Are You There (êtes-vous là ?)<br />
• Break (interruption)<br />
• Synch (synchronisation)<br />
• Erase Character (effacer caractère) :<br />
PuTTY peut être configuré pour envoyer un 'Erase Character' lorsqu'on appuie sur la<br />
touche 'Retour arrière' du clavier ( cf. section 4.16.3 ).<br />
• Erase Line (effacer ligne)<br />
• Go Ahead (continuer)<br />
• No Operation (rien, pas d’opération) : n'a normalement aucun effet.<br />
• Abort Process (terminer processus)<br />
• Abort Output (interrompre sortie)<br />
• Interrupt Process (interrompre processus) :<br />
PuTTY peut être configuré pour envoyer un 'Interrupt Process' lorsqu'on appuie sur<br />
Ctrl-C (cf. section 4.16.3).<br />
• Suspend Process (suspendre processus) :<br />
PuTTY peut être configuré pour envoyer un 'Suspend Process' lorsqu'on appuie sur<br />
Ctrl-Z (cf. section 4.16.3).<br />
• End Of Record (fin d’enregistrement)<br />
• End Of File (fin de fichier)<br />
Pendant une connexion SSH, les commandes spéciales suivantes sont disponibles :<br />
• IGNORE message : n'a normalement aucun effet.<br />
16
Logiciel d’administration pour IPCOP 1.4.x<br />
• Repeat Key Exchange (recommencer l'échange de clés) :<br />
Disponible uniquement dans SSH-2. Force les deux machines en présence à procéder<br />
immédiatement à un nouvel échange de clefs (et réinitialise les timers et les compteurs<br />
correspondants). Pour plus d'informations sur la répétition d'échanges de clefs,<br />
veuillez vous reporter à la section 4.19.2.<br />
• Break (interruption) :<br />
Disponible uniquement dans SSH-2, et uniquement au cours d'une session. Extension<br />
optionnelle, qui peut ne pas être supportée par le serveur. PuTTY demande au serveur<br />
sa longueur par défaut pour le signal break.<br />
• Signaux (SIGINT, SIGTERM, etc.)<br />
Disponible uniquement dans SSH-2, et uniquement au cours d'une session. Envoie<br />
divers signaux POSIX. Non reconnu par tous les serveurs.<br />
Avec une connexion série, la seule commande spéciale disponible est ‘break’.<br />
I.3.3 Démarrage d’une nouvelle session<br />
Le menu système de PuTTY fournit différents raccourcis pour démarrer de nouvelles<br />
sessions :<br />
• ‘New Session’ démarre une nouvelle instance de PuTTY, et affiche la boîte de<br />
dialogue de configuration habituelle (cf. copie d'écran ).<br />
• ‘Duplicate Session’ démarre une session dans une nouvelle fenêtre, avec exactement<br />
les mêmes réglages que la session courante (connexion au même serveur, avec le<br />
même protocole, les mêmes réglages, etc.).<br />
• Utilisée dans une fenêtre inactive, la commande ‘Restart Session’ fait pareil que<br />
‘Duplicate Session’, mais dans la fenêtre courante.<br />
• Le sous-menu ‘Saved Sessions’ vous permet d'accéder rapidement à aux ensembles de<br />
réglages de session sauvegardés auparavant (cf. section 4.1.2 pour des explications<br />
détaillées sur la façon de sauvegarder des réglages de session).<br />
I.3.4 Modification de vos réglages de session<br />
La commande ‘Change Settings’, dans le menu système, fait apparaître une version allégée<br />
de sa boîte de dialogue de configuration. Cela vous permet d'ajuster la plupart des propriétés<br />
de la session en cours. Vous pouvez changer la taille du terminal, la police de caractères, les<br />
actions associées à différentes combinaisons de touches, les couleurs, et ainsi de suite.<br />
Certaines options disponibles dans la boîte de dialogue de configuration principale<br />
n'apparaissent pas dans la version allégée. Il s'agit généralement de réglages qu'il n'y a pas<br />
lieu de changer en cours de session (par exemple, cela n'a pas de sens de basculer de SSH à<br />
Telnet en plein milieu d'une session).<br />
Vous pouvez sauvegarder les réglages de la session courante, en vue d'un usage futur, à partir<br />
de cette boîte de dialogue. Pour plus d'informations sur les sessions sauvegardées, veuillez<br />
vous reporter à la section 4.1.2.<br />
17
Logiciel d’administration pour IPCOP 1.4.x<br />
I.3.5 Tout copier dans le presse papier<br />
Cette commande du menu système fournit un moyen commode pour copier la totalité de<br />
l'écran du terminal (jusqu’à la dernière ligne non vide) et la totalité de l'historique, dans le<br />
presse-papiers, d'un seul coup.<br />
I.3.6 Effacement et réinitialisation du terminal<br />
La commande ‘Clear Scrollback’ du menu système demande à PuTTY d'effacer les lignes de<br />
texte qui avaient été gardées en mémoire bien qu'elles aient disparu de l'écran. Cela peut<br />
s'avérer utile, par exemple, quand vous avez consulté des informations confidentielles, et que<br />
vous voulez vous assurer que personne ne pourra les lire en regardant par dessus votre épaule<br />
(attention, toutefois : cela empêche l'utilisateur lambda de consulter ces informations en<br />
remontant en arrière avec la barre de défilement, mais cela ne garantit pas que le texte en<br />
question a effectivement été effacé de la mémoire utilisée par PuTTY).<br />
La commande ‘Reset Terminal’ provoque une réinitialisation complète de l'émulateur de<br />
terminal. Un émulateur de terminal de type VT est un logiciel complexe, qui peut facilement<br />
se retrouver dans un état bancal, avec l'écran rempli de « hiéroglyphes » ( par exemple si vous<br />
demandez accidentellement l'affichage à l'écran d'un fichier binaire ). Dans ce cas, recourir à<br />
la commande Reset Terminal permet normalement de remettre les choses en ordre.<br />
I.3.7 Mode plein écran<br />
Si vous trouvez que la barre de titre d'une fenêtre agrandie au maximum est moche, ou si sa<br />
présence à l'écran vous déplaît, vous pouvez choisir le mode Full Screen (plein écran) pour<br />
agrandir encore plus la fenêtre de PuTTY. Lorsque vous choisissez ce mode, PuTTY prend<br />
tout l'écran, et les bordures de la fenêtre, la barre de titre et la barre de défilement<br />
disparaissent (vous pouvez toutefois configurer PuTTY pour que la barre de défilement reste<br />
visible en mode plein écran : voir à ce sujet la section 4.7.3).<br />
Lorsque vous êtes en mode plein écran, vous pouvez toujours accéder au menu système : il<br />
vous suffit pour cela de cliquer avec le bouton gauche tout en haut à gauche de l'écran.<br />
N.d.T. : vous pouvez basculer du mode normal au mode plein écran et inversement en<br />
appuyant sur Alt-Entrée. C'est plus rapide que de faire afficher le menu système et de choisir<br />
le mode Full Screen.<br />
II. Création d’un fichier journal de votre session<br />
Dans certains cas, il se peut que vous souhaitiez conserver la trace de tout ce qui s'affiche sur<br />
votre écran. Pour cela, rendez vous dans le panneau ‘Logging’ (journalisation) de la boîte de<br />
dialogue de configuration.<br />
Pour lancer l'enregistrement des traces de la session courante dans un journal de session,<br />
cliquez sur ‘Change Settings’, dans le menu système, et allez dans le panneau Logging.<br />
Choisissez un nom de fichier journal, et un mode d'enregistrement des traces (vous pouvez au<br />
choix garder trace de tout le trafic échangé entre PuTTY et le serveur, y compris les<br />
séquences de caractères de contrôle, ou seulement du texte imprimable, selon l'usage que vous<br />
prévoyez de faire de ces traces). Cliquez sur ‘Apply’ et l'enregistrement des traces démarre<br />
immédiatement. Par la suite, vous pouvez revenir dans le panneau Logging et sélectionner<br />
‘Logging turned off completely’ pour arrêter l'enregistrement. Lorsque vous faites cela,<br />
PuTTY referme le fichier journal, et vous pouvez alors le lire à votre guise.<br />
18
Logiciel d’administration pour IPCOP 1.4.x<br />
Pour plus de détails et d'options, veuillez vous reporter à la section 4.2.<br />
III. Modification de la configuration de votre jeu de caractère<br />
Si vous constatez que les caractères spéciaux, tels que les lettres accentuées, par exemple, ou<br />
les caractères semi graphiques, ne s'affichent pas correctement dans votre session PuTTY,<br />
c'est peut-être que PuTTY interprète les caractères envoyés par le serveur en se basant sur un<br />
jeu de caractères incorrect. Il existe un grand nombre de jeux de caractères différents, donc<br />
c'est quelque chose de tout à fait possible.<br />
Si vous cliquez sur ‘Change Settings’ et que vous allez dans le panneau ‘Translation’ (1) ,<br />
vous devriez y voir un grand nombre de jeux de caractères, parmi lesquels vous pouvez<br />
choisir, ainsi que d'autres options s'y rattachant. À partir de là, tout ce dont vous avez besoin,<br />
c'est de savoir lequel choisir (veuillez vous reporter à la section 4.10 pour plus<br />
d’informations).<br />
NdT n°1 : attention, en anglais, 'translation' veut dire 'traduction' (rien à voir avec le mot<br />
français 'translation', qui est synonyme de déplacement).<br />
IV. Chiffrement du traffic X11 (« X11 Fowardind » dans SSH)<br />
Le protocole SSH sait faire transiter le trafic réseau issu des applications X Window par votre<br />
connexion SSH, en le chiffrant. De ce fait, vous pouvez faire tourner une application X sur le<br />
serveur auquel vous êtes connecté en SSH, et faire en sorte qu'il envoie ses affichages sur<br />
votre machine à vous, sans qu'aucun trafic X ne transite en clair sur le réseau.<br />
Pour cela, il vous faut un serveur X sur votre machine Windows, tel que Cygwin/X, X-Win32,<br />
ou Exceed. Ce serveur X va vraisemblablement s'auto configurer en tant qu'affichage numéro<br />
0 sur votre machine. Si ce n'est pas le cas, donc s'il utilise un autre numéro, vous devriez<br />
trouver lequel dans la documentation du serveur X.<br />
Une fois le serveur X installé et démarré sur votre machine, il faut que vous cochiez la case<br />
‘Enable X11 forwarding’, dans le panneau Tunnels ( cf. section 4.22 ) avant de vous<br />
connecter en SSH au serveur distant. La zone de texte ‘X display location’ est vide par<br />
défaut, ce qui signifie que PuTTY va essayer de trouver lui-même la valeur appropriée ( :0<br />
par défaut : c'est la valeur la plus courante). S'il y a besoin de changer cette valeur, changezla.<br />
Maintenant, vous devriez être en mesure de vous connecter au serveur SSH normalement.<br />
Pour vérifier que le chiffrement du trafic X11 a été négocié avec succès lors de l'établissement<br />
de la connexion, vous pouvez regarder dans le journal d'événements de PuTTY (voir section<br />
3.1.3.1). Vous devriez y trouver quelque chose dans ce genre :<br />
Si la machine distante est une machine Unix, ou assimilée, vous devriez également pouvoir<br />
remarquer que la variable d'environnement DISPLAY a été modifiée, et qu'elle pointe<br />
maintenant le display 10, ou plus, sur le serveur SSH ( le display par défaut est le 0 ) :<br />
19
Logiciel d’administration pour IPCOP 1.4.x<br />
Si cela fonctionne, alors vous devez normalement pouvoir lancer des applications X via la<br />
connexion SSH, et voir leurs fenêtres s'afficher sur l'écran de votre PC.<br />
Veuillez noter que si le serveur X de votre PC exige une authentification pour se connecter,<br />
alors c'est raté : pour l'instant, PuTTY ne sait pas encore gérer cela. Si c'est un problème pour<br />
vous, alors vous devriez envoyer un mail aux auteurs de PuTTY et leur expliquer en détail ce<br />
qui vous arrive (cf. annexe B).<br />
Si vous avez besoin d'informations plus détaillées sur le chiffrement du trafic X11, veuillez<br />
vous reporter à la section 4.22.<br />
V. Transfert de ports (« port forwarding ») dans SSH)<br />
Le protocole SSH sait rediriger des connexions réseau arbitraires via une connexion SSH<br />
cryptée, ce qui évite que les informations ne circule en clair. Par exemple, vous pourriez<br />
utiliser cela pour vous connecter, depuis chez vous, à un serveur POP-3 situé sur une machine<br />
distante, sans que votre mot de passe de messagerie ne puisse être intercepté à l'aide d'un<br />
sniffer réseau.<br />
Pour faire du transfert de ports afin de vous connecter depuis votre machine locale à un port<br />
sur un serveur distant, il vous faut :<br />
• d'abord, choisir un numéro de port local, sur votre machine à vous, sur lequel PuTTY<br />
doit se mettre à l'écoute des connexions entrantes. Il y a probablement plein de<br />
numéros de port disponibles au-delà de 3000 (vous pouvez aussi utiliser une adresse<br />
de loopback (2) , voir ci-dessous pour plus de détails).<br />
• ensuite, avant de vous connecter en SSH à la machine distante, allez dans le panneau<br />
Tunnels (cf. section 4.23). Assurez-vous que le bouton radio Local est bien<br />
sélectionné. Tapez le numéro de port local dans la case Source port. Tapez le nom<br />
d'hôte et le numéro de port à utiliser sur la machine distante dans la case Destination,<br />
en les séparant par un deux-points (exemple : popserver.exemple.com:110 pour<br />
vous connecter à un serveur POP-3).<br />
• maintenant, cliquez sur Add. Votre nouveau transfert de port apparaît dans la liste,<br />
juste au dessus.<br />
Une fois que c'est fait, vous pouvez vous connecter et vous loguer (le transfert de port ne sera<br />
activé qu'une fois que vous serez logué, parce que sans cela, il serait facile de lancer des<br />
attaques réseau complètement anonymes, et d'accéder à tout réseau privé virtuel, ce qui n'est<br />
évidemment pas une bonne chose). Pour vérifier que PuTTY a correctement mis en place le<br />
transfert de port, vous pouvez jeter un coup d'oeil au journal d'événements de PuTTY (voir<br />
section 3.1.3.1). Vous devriez y trouver quelque chose dans ce genre :<br />
NdT n°2 : normalement, il aurait fallu traduire « loopback » par « bouclage », mais le terme<br />
anglais est passé dans l'usage (désolé pour les puristes).<br />
Maintenant, si vous vous connectez au numéro du port source sur votre PC local, vous devriez<br />
constater qu'il vous répond exactement comme s'il s'agissait du service qui s'exécute sur la<br />
20
Logiciel d’administration pour IPCOP 1.4.x<br />
machine de destination. Donc, dans cet exemple, vous pourriez maintenant configurer un<br />
client de messagerie de façon à ce qu'il utilise le port localhost:3110 comme serveur POP-3<br />
au lieu de popserver.exemple.com:110 (bien entendu, la redirection prendra fin à la<br />
fermeture de votre session PuTTY).<br />
Vous pouvez également rediriger des ports dans l'autre sens, c'est à dire faire en sorte qu'un<br />
numéro de port particulier de la machine serveur soit transféré vers votre PC comme s'il<br />
s'agissait d'une connexion de la machine distante à un service tournant sur votre PC. Pour<br />
faire cela, il vous suffit de sélectionner le bouton radio ‘Remote’ plutôt que ‘Local’. Le<br />
champ ‘Source port’ indiquera alors un numéro de port sur la machine serveur (N.B. : sur la<br />
plupart des serveurs, vous ne pourrez pas utiliser des numéros de port inférieurs à 1024).<br />
Une autre façon de transférer des connexions locales vers des machines distantes consiste à<br />
utiliser un proxy SOCKS dynamique. Pour cela, il vous faudra choisir le bouton radio<br />
‘Dynamic’ au lieu du bouton radio ‘Local’, et ne rien mettre dans le champ ‘Destination’ ( si<br />
vous mettiez quelque chose, ce serait ignoré ). Suite à cela, PuTTY va écouter sur le port que<br />
vous aurez indiqué, et se comportera comme un proxy SOCKS vis à vis de tout programme<br />
qui se connecte à ce port. Donc cela vous permet en particulier de rediriger d'autres<br />
connexions PuTTY au travers de ce proxy, moyennant quelques réglages dans le panneau<br />
Proxy (veuillez vous reporter à la section 4.15 pour plus d’informations).<br />
Le port source d'une connexion transférée n'accepte généralement pas de connexions<br />
entrantes, excepté du client SSH, ou du serveur SSH lui-même ( pour les transferts locaux et<br />
distants, respectivement ). Il y a moyen de changer cela dans le panneau Tunnels :<br />
• L'option ‘Local ports accept connections from other hosts’ vous permet de<br />
configurer des transferts d'un port local vers un port distant ( y compris des transferts<br />
de ports dynamiques ) de telle façon que des machines autres que votre PC client<br />
puissent se connecter au port transféré.<br />
• L'option ‘Remote ports do the same’ fait de même pour les transferts de ports<br />
distants vers des ports locaux (si bien que des machines autres que la machine serveur<br />
SSH peuvent se connecter au port transféré). Notez que cette fonctionnalité n'est<br />
disponible que dans la version 2 du protocole SSH, et que tous les serveurs SSH-2 ne<br />
l'acceptent pas ( dans OpenSSH, par exemple, cette possibilité est généralement<br />
désactivée par défaut ).<br />
Vous pouvez aussi indiquer une adresse IP à écouter. Typiquement, on peut demander à une<br />
machine Windows d'écouter sur n'importe quelle adresse IP unique dans la plage 127.*.*.*,<br />
ce qui correspond tout à des adresses loopback, accessibles uniquement à la machine locale.<br />
Donc, si vous redirigez, disons, 127.0.0.5:79 vers le port finger d'une machine distante,<br />
alors vous devriez pouvoir passer des commandes telles que finger fred@127.0.0.5. Ceci<br />
peut être utile si le programme qui se connecte au port transféré ne vous permet pas de<br />
changer le numéro de port qu'il utilise. Cette fonctionnalité est disponible pour les transferts<br />
de ports locaux vers des ports distants. SSH-1 ne sait pas le gérer pour les transferts de ports<br />
distants vers des ports locaux. SSH-2, lui, sait le faire en théorie, mais les serveurs ne se<br />
montrent pas toujours tous coopératifs.<br />
( N.B. : si vous êtes sous Windows XP Service Pack 2, il se peut que vous ayez besoin<br />
d'appliquer un correctif Microsoft pour pouvoir utiliser des adresses IP telles que 127.0.0.5 -<br />
voir la question A.7.20 )<br />
21
Logiciel d’administration pour IPCOP 1.4.x<br />
VI.Etablissement de connexions TCP brute<br />
De nombreux protocoles Internet utilisent des commandes et des réponses en texte simple. Par<br />
exemple, SMTP ( le protocole qui sert à acheminer le courrier électronique ), NNTP ( qui sert<br />
à véhiculer les news Usenet ), et HTTP ( qui sert aux échanges entre les navigateurs et les<br />
serveurs Web ), tous sont basés sur des commandes en texte brut, parfaitement lisibles.<br />
Certaines fois, il peut être utile de se connecter directement à l'un de ces services et de<br />
« parler » le protocole directement, en tapant des commandes de ce protocole au clavier et en<br />
regardant les réponses. Sur les machines Unix, vous pouvez faire cela en utilisant la<br />
commande Telnet pour vous connecter au numéro de port adéquat. Par exemple, si vous<br />
tapez telnet mailserver.exemple.com 25, vous pourrez parler directement au service<br />
SMTP qui tourne sur le serveur de messagerie.<br />
Bien que la commande Unix telnet permette de faire cela, le protocole réellement utilisé<br />
n'est pas Telnet. En fait, ici, il n'y a pas de protocole à proprement parler. Les octets envoyés<br />
via la connexion sont exactement ceux que vous tapez au clavier, et les octets qui apparaissent<br />
à l'écran sont exactement ceux renvoyés par le serveur. La commande telnet d'Unix essaye<br />
de détecter ou de deviner si le service auquel elle s'adresse est un vrai service Telnet ou pas.<br />
PuTTY, lui, préfère qu'on le lui indique clairement.<br />
Pour établir une connexion TCP brute à un service comme celui-ci, il vous suffit de<br />
sélectionner le quatrième nom de protocole, ‘Raw’, parmi les boutons ‘Protocol’ dans le<br />
panneau de configuration ‘Session’ ( cf. section 4.1.1 ). Vous pouvez alors taper un nom<br />
d'hôte et un numéro de port, et établir la connexion.<br />
VII. Connexion par port série local<br />
PuTTY peut se connecter directement à un port série, à défaut de connexion réseau. Dans ce<br />
mode de fonctionnement, le texte tapé au clavier dans la fenêtre de PuTTY est envoyé tel quel<br />
par le port série de votre ordinateur, et les données reçues par ce port sont affichées telles<br />
quelles dans la fenêtre PuTTY. Ce mode de fonctionnement peut s'avérer utile, par exemple,<br />
pour vous connecter à un ordinateur qui est relié au vôtre par le port série (avec un câble null<br />
modem).<br />
Pour établir une connexion de ce type, il vous suffit de choisir ‘Serial’ parmi les boutons<br />
radio ‘Connection type’ dans le panneau de configuration ‘Session’ (cf. section 4.1.1). Les<br />
champs ‘Host Name’ et ‘Port’ vont être remplacés par des champs ‘Serial line’ et ‘Speed’,<br />
pour vous permettre de choisir le port série à utiliser ( si votre machine en a plus d'un ) et à<br />
quelle vitesse ( en bauds ) il faut transférer les données. Pour plus d'options de configuration<br />
(bits de données, bits de stop, parité, contrôle de flux), allez voir dans le panneau de<br />
configuration ‘Serial’ (cf. section 4.25).<br />
Une fois que vous aurez démarré PuTTY en mode série, il se peut que vous ayez à faire le<br />
premier pas, en envoyant quelque chose dans le « tuyau » pour signaler à la machine située à<br />
l'autre extrémité que quelqu'un veut lui parler. Cela dépend probablement de la machine : si<br />
vous démarrez une session PuTTY en mode série et que rien n'apparaît à l'écran, essayez<br />
d'appuyez deux ou trois fois sur la touche Entrée pour voir si cela fait quelque chose.<br />
Dans une liaison série, il n'y a pas de façon clairement définie de signaler à la machine située<br />
à l'autre extrémité que la connexion est terminée. C'est pourquoi quand vous êtes connecté à<br />
une machine par le port série, PuTTY reste connecté jusqu'à ce que vous fermiez la fenêtre en<br />
cliquant sur le bouton de fermeture, en haut à droite, ou en faisant Alt-F4.<br />
22
Logiciel d’administration pour IPCOP 1.4.x<br />
VIII. Utilisation de PuTTY en ligne de commande<br />
PuTTY sait faire tout un tas de choses sans intervention de l'utilisateur si on lui passe des<br />
arguments en ligne de commande (dans une fenêtre invite de commandes, par exemple, ou au<br />
moyen d'un raccourci Windows).<br />
VIII.1 Lancement d’une session en ligne de commande<br />
Les options suivantes vous permettent de lancer PuTTY sans afficher la boîte de dialogue<br />
initiale, et de démarrer directement une session.<br />
Pour se connecter à un serveur nommé nom_serveur, il suffit de taper :<br />
Quand on lance PuTTY comme cela, les options de configuration prises en compte sont celles<br />
définies dans Default Settings (c’est à dire les réglages par défaut, cf. section 4.1.2). Le nom<br />
d'utilisateur nom_utilisateur indiqué en ligne de commande, si vous en tapez un, a priorité<br />
sur celui éventuellement indiqué dans les réglages par défaut. De même, vous pouvez<br />
spécifier un protocole, qui prendra le pas sur le protocole par défaut (voir à ce sujet la section<br />
3.8.3.2).<br />
Pour les sessions Telnet, vous pouvez aussi utiliser la syntaxe suivante ( qui permet d'utiliser<br />
PuTTY pour ouvrir les URL telnet:// dans les navigateurs Web ) :<br />
Pour lancer une session existante qui s'appelle nom_session, utilisez l'option -load (décrite<br />
dans la section 3.8.3.1)<br />
VIII.2 –cleanup<br />
Quand on le lance avec l'option -cleanup, au lieu de démarrer normalement, PuTTY efface<br />
ses entrées dans la base de registres et supprime son fichier de « graine » pour le générateur<br />
de nombres aléatoires (après confirmation de l’utilisateur).<br />
Veuillez noter que sur les systèmes Multi-Utilisateurs, l'option -cleanup n'efface que les<br />
entrées de base de registre et les fichiers correspondant à l'utilisateur qui est actuellement<br />
logué.<br />
23
Logiciel d’administration pour IPCOP 1.4.x<br />
VIII.3 Options standard de la ligne de commande<br />
PuTTY et les outils associés acceptent un grand nombre d'options en ligne de commande, qui<br />
sont identiques d'un outil à l'autre, par souci de cohérence. Cette section énumère les options<br />
disponibles dans tous les outils. Celles qui sont spécifiques à tel ou tel outil sont décrites dans<br />
la partie consacrée à cet outil.<br />
VIII.3.1 – load : charge une session sauvegardée<br />
L'option -load demande à PuTTY de charger les paramètres de configuration d'une session<br />
sauvegardée. Si un nom d'hôte figure dans ces paramètres, alors cette option est tout ce dont<br />
vous avez besoin pour démarrer une session PuTTY.<br />
Attention de bien mettre le nom de session entre doubles quotes s'il contient des espaces.<br />
Si vous souhaitez créer un raccourci Windows pour lancer une session PuTTY sauvegardée,<br />
c'est l'option qu'il vous faut. Votre raccourci devra appeler quelque chose du genre :<br />
N.B. PuTTY lui-même accepte une autre forme de cette option, par souci de compatibilité<br />
ascendante. Si vous lancez putty @nom_session, cela aura le même effet que de faire putty<br />
-load "nom_session". Avec la variante @, les doubles quotes ne sont plus nécessaires, et le<br />
caractère '@' doit se trouver juste après le nom putty sur la ligne de commande (avec un<br />
espace entre les deux, quand même...). Cette variante de l'option -load est obsolète.<br />
VIII.3.2 Choix du protocole : -ssh, -telnet, -rlogin, -raw<br />
Pour choisir avec quel protocole vous voulez vous connecter, vous pouvez utilisez l'une de<br />
ces options :<br />
• -ssh sélectionne le protocole SSH<br />
• -telnet sélectionne le protocole Telnet<br />
• -rlogin sélectionne le protocole Rlogin<br />
• -raw sélectionne le protocole 'raw'<br />
Ces options ne sont pas utilisables avec les outils de transfert de fichiers PSCP et PSFTP (qui<br />
ne fonctionnent qu'avec le protocole SSH).<br />
Ces options en ligne de commande sont équivalentes aux boutons radio de sélection du<br />
protocole dans le panneau Session de la boîte de dialogue de configuration de PuTTY (cf.<br />
section 4.1.1).<br />
VIII.3.3 –v : augmente la verbosité<br />
La plupart des outils PuTTY peuvent vous en dire plus sur leur fonctionnement qu'ils ne le<br />
font par défaut si vous les lancez avec l'option -v. Si vous rencontrez des problèmes lorsque<br />
vous essayez d'établir une connexion, ou simplement si vous êtes curieux, vous pouvez<br />
activer cette option. Peut-être trouverez-vous ainsi la réponse aux questions que vous vous<br />
posez.<br />
24
Logiciel d’administration pour IPCOP 1.4.x<br />
VIII.3.4 –l : indique le nom d’utilisateur<br />
Vous pouvez indiquer le nom d'utilisateur sous lequel vous souhaitez vous connecter sur la<br />
machine distante avec l'option -l. Par exemple, plink machine.exemple.com -l fred.<br />
Cette option -l en ligne de commande revient à indiquer un nom d'utilisateur dans le champ<br />
Auto-login username dans le panneau Connection de la boîte de dialogue de configuration<br />
de PuTTY (cf. section 4.14.1).<br />
VIII.3.5 –L, -R et –D configuration des transferts de ports<br />
Tout comme vous pouvez configurer des transferts de ports dans la boîte de dialogue de<br />
configuration de PuTTY ( cf. section 4.23 ), vous pouvez aussi en configurer à partir de la<br />
ligne de commande. Les options de ligne de commande pour ce faire fonctionnent de la même<br />
manière que celles des programmes ssh sous Unix.<br />
Pour rediriger un port local (le 5110, par exemple) vers une machine distante (mettons<br />
popserver.exemple.com, port 110), vous pouvez écrire quelque chose dans ce genre :<br />
Ou alors :<br />
À l'inverse, pour rediriger un port distant vers une destination locale, il suffit d'utiliser l'option<br />
-R au lieu de l'option -L :<br />
Ou :<br />
Pour indiquer une adresse IP correspondant à l'extrémité entrante du tunnel, il faut l'ajouter<br />
avant le nom de machine, dans les arguments :<br />
Pour mettre en place un transfert de port dynamique basé sur SOCKS sur un port local,<br />
utilisez l'option -D. Pour celle-ci, vous n'avez qu'à indiquer le numéro de port :<br />
Pour des informations générales sur le transfert de ports, veuillez vous reporter à la section<br />
3.5.Ces options ne sont pas disponibles dans les outils de transfert de fichiers PSCP et PSFTP.<br />
25
Logiciel d’administration pour IPCOP 1.4.x<br />
VIII.3.6 –m lire dans un fichier une commande ou un script à lancer sur<br />
une machine distante<br />
L'option -m sert à la même chose que le champ ‘Remote command’ dans le panneau SSH de<br />
la boîte de dialogue de configuration de PuTTY (cf. section 4.18.1). À la différence près que<br />
l'option -m attend le nom d'un fichier local, et qu'elle lira la commande (ou le script) dans ce<br />
fichier.<br />
Avec certains serveurs ( en particulier les systèmes Unix ), vous pouvez même mettre<br />
plusieurs lignes dans ce fichier et exécuter plusieurs commandes les unes après les autres, ou<br />
un script Shell complet, mais cela va au delà du fonctionnement normal, et il ne faut pas<br />
s'étonner si ça ne marche pas sur tous les serveurs. En particulier, il est de notoriété publique<br />
que cela ne fonctionne pas avec certains systèmes embarqués, comme les routeurs Cisco.<br />
Ces options ne sont pas disponibles dans les outils de transfert de fichiers PSCP et PSFTP.<br />
VIII.3.7 –p : indique le numéro de port<br />
L'option -P sert à indiquer à quel numéro de port il faut se connecter. Si vous avez un serveur<br />
Telnet qui écoute sur le port 9696 d'une machine au lieu d'écouter sur le port 23, par exemple,<br />
tapez :<br />
putty -telnet -P 9696 nom_machine<br />
Ou alors :<br />
plink -telnet -P 9696 nom_machine<br />
N.B. : cette option est plus utile avec Plink qu'avec PuTTY, parce qu'avec PuTTY, vous<br />
pouvez toujours taper putty -telnet nom_machine 9696.<br />
Cette option équivaut au champ ‘Port’ dans le panneau Session de la boîte de dialogue de<br />
configuration de PuTTY (cf. section 4.1.1).<br />
VIII.3.8 –pw : indique un mot de passe<br />
Une façon simple d'automatiser l'ouverture d'une session sur une machine distante consiste à<br />
mettre votre mot de passe dans la ligne de commande. Cette façon de faire n'est pas<br />
recommandée pour des raisons de sécurité. Si vous en avez la possibilité, nous vous<br />
conseillons plutôt de mettre en place une authentification par clé publique ( veuillez vous<br />
reporter au chapitre 8 pour voir en détail comment procéder ).<br />
N.B. : l'option -pw ne fonctionne que quand vous utilisez le protocole SSH. En raison de<br />
limitations inhérentes à Telnet et Rlogin, ces protocoles n'acceptent pas l'authentification<br />
automatisée par mot de passe.<br />
26
Logiciel d’administration pour IPCOP 1.4.x<br />
VIII.3.9 –agent et –noagent : contrôler l’utilisation de Pageant pour<br />
l’authentification<br />
L'option -agent active l'authentification SSH par Pageant, et l'option -noagent la désactive.<br />
Ces options n'ont de sens que si vous utilisez SSH.<br />
Veuillez vous reporter au chapitre 9 pour des informations générales au sujet de Pageant.<br />
Ces options équivalent à la case à cocher ‘Attempt authentication using Pageant’ dans le<br />
panneau Auth de la boîte de dialogue de configuration PuTTY (cf. section 4.20.2).<br />
VIII.3.10 –A et –a : contrôler le transfert d’agent<br />
L'option -A active le transfert d'agent SSH, et -a le désactive. Ces options n'ont de sens que si<br />
vous utilisez SSH.<br />
Veuillez vous reporter au chapitre 9 pours des informations générales au sujet de Pageant, et<br />
plus particulièrement à la section 9.4 en ce qui concerne le transfert d'agent. Notez qu'il y a un<br />
risque à faire cela, question sécurité (veuillez vous reporter à la section 9.5 pour plus<br />
d’informations).<br />
Ces options équivalent à la case à cocher ‘Allow agent forwarding’ dans le panneau Auth de<br />
la boîte de dialogue de configuration PuTTY (cf. section 4.20.5).<br />
Ces options ne sont pas disponibles dans les outils de transfert de fichiers PSCP et PSFTP.<br />
VIII.3.11 –X et –x contrôle du chiffrement du traffic X11<br />
L'option -X active le chiffrement du trafic X11 dans SSH ( le ‘X11 forwarding’, comme on dit<br />
en bon français ), et -x le désactive. Ces options n'ont de sens que si vous utilisez SSH.<br />
Pour plus d'informations sur le chiffrement du trafic X11, veuillez vous reporter à la<br />
section 3.4.<br />
Ces options équivalent à la case à cocher ‘Enable X11 forwarding’ dans le panneau X11 de<br />
la boîte de dialogue de configuration PuTTY (cf. section 4.22).<br />
Ces options ne sont pas disponibles dans les outils de transfert de fichiers PSCP et PSFTP.<br />
VIII.3.12 –t et –T : contrôler l’affectation de pseudo terminal<br />
L'option -t fait en sorte que PuTTY essaye d'allouer un pseudo terminal au serveur, et<br />
l'option -T fait en sorte qu'il arrête cette allocation. Ces options n'ont de sens que si vous<br />
utilisez SSH.<br />
Ces options équivalent à la case à cocher ‘Don't allocate a pseudo terminal’ dans le panneau<br />
SSH de la boîte de dialogue de configuration PuTTY (cf. section 4.21.1).<br />
Ces options ne sont pas disponibles dans les outils de transfert de fichiers PSCP et PSFTP.<br />
27
Logiciel d’administration pour IPCOP 1.4.x<br />
VIII.3.13 –N supprimer le lancement d’une invite de commande ou<br />
d’une commande<br />
L'option -N empêche PuTTY d'essayer de démarrer une invite de commandes ou une<br />
commande sur la machine distante. Cela peut vous être utile si vous n'utilisez une connexion<br />
SSH que pour faire du transfert de ports, ou si votre compte utilisateur sur la machine distante<br />
n'a pas la possibilité de lancer une invite de commandes.<br />
Cette fonctionnalité n'est disponible que dans la version 2 du protocole SSH ( la version 1<br />
considère que vous voulez toujours obtenir une invite de commandes sur la machine<br />
distante ).<br />
Cette option a le même effet que la case à cocher ‘Don't start a Shell or command at all’<br />
dans le panneau SSH de la boîte de dialogue de configuration de PuTTY (cf. section 4.18.2).<br />
Cette option n'est pas disponible dans les outils de transfert de fichiers PSCP et PSFTP.<br />
VIII.3.14 –nc établir une connexion réseau distante plutôt que de lancer<br />
une invite de commandes ou commandes<br />
L'option -nc empêche Plink (ou PuTTY) d'essayer de lancer une invite de commandes ou une<br />
commande sur la machine distante. Au lieu de cela, Plink ou PuTTY vont demander à la<br />
machine distante d'ouvrir une autre connexion réseau à destination d'une troisième machine,<br />
avec un numéro de port que vous indiquez dans la commande, et de gérer cette connexion<br />
réseau comme si c'était la session principale.<br />
Vous indiquez quels sont cette autre machine et ce port en argument de l'option -nc, avec un<br />
':' entre le nom de la troisième machine et le numéro de port, comme ceci :<br />
machine1> plink machine2.exemple.com -nc machine3.exemple.com:1234<br />
Cette fonctionnalité peut vous être utile si vous avez besoin d'établir une connexion SSH avec<br />
une machine cible que vous ne pouvez joindre qu'en passant par une machine proxy, et que<br />
vous préférez utiliser cette machine proxy en tant que telle plutôt que de recourir au transfert<br />
de ports (veuillez vous reporter à la section 4.15.1 pour plus d'informations au sujet des proxy<br />
locaux). Dans ce cas, vous pourriez choisir le type de proxy ‘Local’, mettre ‘plink<br />
%machine_proxy -nc %machine_cible:%port’ comme commande de proxy local, indiquer<br />
le nom d'hôte de la machine cible dans le panneau Session, et le nom d'hôte de la machine<br />
proxy, qui est directement accessible, elle, dans le panneau Proxy.<br />
Cette fonctionnalité n'est disponible que dans la version 2 du protocole SSH ( la version 1<br />
considère que vous voulez toujours obtenir une invite de commandes sur la machine<br />
distante ). Elle n'est pas disponible dans les outils de transfert de fichiers PSCP et PSFTP,<br />
uniquement dans PuTTY lui-même, bien qu'elle ait peu de chances de servir à quoi que ce soit<br />
ailleurs que dans Plink. Enfin, l'option -nc se sert du même mécanisme que le transfert de<br />
ports, côté machine distante, donc elle ne fonctionnera pas si l'administrateur de la machine<br />
distante a désactivé le transfert de ports.<br />
Le nom de cette option -nc provient du programme Unix qui est lui-même une abréviation de<br />
‘netcat’. Faire ‘machine1> plink machine2 -nc machine3:port’ revient donc quasiment<br />
au même que de faire ‘machine1> plink machine2 nc machine3 port’, puisque cette<br />
variante appelle la commande nc sur la machine intermédiaire (machine2, ici), et lui demande<br />
de se connecter à la machine cible (machine3). Seule différence : l'option interne -nc de Plink<br />
n'a pas besoin, pour fonctionner, que le programme nc soit installé sur la machine<br />
intermédiaire.<br />
28
Logiciel d’administration pour IPCOP 1.4.x<br />
VIII.3.15 –c : activer la compression<br />
L'option -C active la compression des données envoyées par le réseau. Cette option n'a de<br />
sens que si vous utilisez SSH.<br />
Cette option a le même effet que la case à cocher ‘Enable compression’ dans le panneau<br />
SSH de la boîte de dialogue de configuration de PuTTY (cf. section 4.18.3).<br />
VIII.3.16 -1 et -2 spécifier la version du protocole SSH<br />
Les options -1 et -2 forcent PuTTY à utiliser la version 1 ou la version 2 du protocole SSH.<br />
Ces options n'ont de sens que si vous utilisez SSH.<br />
Les options équivalent à sélectionner la version du protocole SSH avec les boutons radio ‘1<br />
only’ ou ‘2 only’ dans le panneau SSH de la boîte de dialogue de configuration de PuTTY<br />
(cf. section 4.18.4).<br />
VIII.3.17 -4 et -6 : spécifié la version du protocole IP<br />
es options -4 et -6 forcent PuTTY à utiliser soit le ‘vieux’ protocole IPv4, soit le protocole<br />
plus récent IPv6.<br />
Ces options équivalent à sélectionner la version du protocole IP que vous préférez dans le<br />
panneau Connection de la boîte de dialogue de configuration de PuTTY ( cf. section 4.13.4 ).<br />
VIII.3.18 –i : Spécifie la clé privé SSH<br />
L’option -i vous permet d'indiquer le nom d'un fichier de clé privée au format *.PPK, que<br />
PuTTY utilisera pour l'authentification auprès du serveur. Cette option n'a de sens que si vous<br />
utilisez SSH.<br />
Pour des informations générales au sujet de l'authentification par clé publique / clé privée,<br />
veuillez vous reporter au chapitre 8.<br />
Cette option équivaut au champ ‘Private key file for authentication’ dans le panneau Auth<br />
de la boîte de dialogue de configuration de PuTTY (cf. section 4.20.7).<br />
VIII.3.19 –pgpfp affiche les signatures des clés PGP<br />
Cette option fait en sorte que les outils PuTTY, au lieu de se lancer normalement, affichent les<br />
signatures des clés PGP principales, pour aider à la vérification des nouvelles versions<br />
( veuillez vous reporter à l'annexe E pour plus d'informations à ce sujet ).<br />
29
Logiciel d’administration pour IPCOP 1.4.x<br />
Chapitre 4 : configuration de PuTTY<br />
I. Panneau « session »<br />
Le panneau de configuration 'Session' contient les informations de base, qu'il faut<br />
impérativement renseigner pour pouvoir ouvrir une session, et il vous permet aussi de<br />
sauvegarder vos réglages en vue d'une utilisation ultérieure.<br />
I.1 Champ « Host Name » (nom d’hôte)<br />
En haut du panneau 'Session', il y a un groupe de réglages intitulé 'Specify the destination<br />
you want to connect to' (autrement dit 'indiquez la machine à laquelle vous voulez vous<br />
connecter’), qui rassemble les informations dont PuTTY a absolument besoin pour pouvoir<br />
ouvrir une session.<br />
• Le champ 'Host Name' sert à indiquer le nom, ou l'adresse IP, de la machine à laquelle<br />
vous voulez vous connecter.<br />
• Les boutons radio 'Connection type' vous permettent de choisir le type de connexion<br />
que vous voulez établir : vous avez le choix entre une connexion TCP 'brute de<br />
fonderie', une connexion Telnet, une connexion Rlogin, une connexion SSH, ou une<br />
connexion série ( veuillez vous reporter à la section 1.2 pour un résumé des<br />
différences entre SSH, Telnet et rlogin, à la section 3.6 si vous voulez des<br />
informations sur les connexions TCP 'brutes', et à la section 3.7 pour plus de détails<br />
sur l'utilisation des connexions série ).<br />
• Le champ 'Port' vous permet d'indiquer le numéro de port à utiliser côté serveur. Si<br />
vous choisissez Telnet, Rlogin, ou SSH, parmi les boutons radio situés en dessous, ce<br />
champ est automatiquement rempli avec la valeur habituelle pour le protocole ( 22<br />
pour SSH, ou 23 pour Telnet, par exemple ), et vous n'avez besoin de la changer que si<br />
le serveur auquel vous voulez vous connecter utilise une valeur non standard. Si vous<br />
30
Logiciel d’administration pour IPCOP 1.4.x<br />
choisissez une connexion de type 'Raw', il vous faudra très certainement remplir le<br />
champ 'Port' vous-même.<br />
Si vous choisissez une connexion de type 'Serial' parmi les boutons radio 'Connection type',<br />
les champs 'Host Name' et 'Port' sont remplacés par des champs 'Serial line' et 'Speed'.<br />
Veuillez vous reporter à la section 4.25 pour plus d'informations à ce sujet.<br />
I.2 Enregistrement de sessions et rechargement de sessions<br />
sauvegardées<br />
La partie médiane du panneau de configuration 'Session' vous permet de sauvegarder vos<br />
réglages préférés, de sorte que ce soit la configuration par défaut la prochaine fois que vous<br />
lancerez PuTTY. Vous pouvez également créer des sessions sauvegardées, qui contiennent<br />
tout un ensemble d'options de configuration associées à un nom de machine et à un protocole.<br />
Une session sauvegardée contient toutes les informations dont PuTTY a besoin pour démarrer<br />
une session avec tous les réglages exactement comme vous les voulez.<br />
• Pour sauvegarder vos réglages par défaut : commencez par configurer PuTTY à votre<br />
goût, puis revenez au panneau 'Session'. Sélectionnez l'entrée 'Default Settings' dans<br />
la liste des sessions sauvegardées, en faisant un simple clic dessus, puis cliquez sur le<br />
bouton 'Save'.<br />
Notez que PuTTY ne vous permet pas de sauvegarder de nom d'hôte dans l'entrée<br />
'Default Settings'. De cette manière, au démarrage de PuTTY, le champ 'Host Name<br />
(or IP address)' est toujours vide, si bien que l'utilisateur n'a qu'à taper un nom de<br />
machine pour se connecter.<br />
S'il y a une machine en particulier pour laquelle vous voulez enregistrer les réglages de<br />
connexion, vous devriez créer une session sauvegardée, distincte des réglages par défaut.<br />
• Pour sauvegarder une session : commencez par tout configurer comme vous le<br />
souhaitez, y compris dans les autres panneaux de configuration, puis revenez au<br />
panneau 'Session'. Dans le champ 'Saved Sessions', tapez un nom pour nommer cette<br />
configuration ( le nom de la machine distante est généralement une bonne idée,<br />
comme nom de session sauvegardée ). Puis cliquez sur le bouton 'Save'. Le nom de<br />
votre session sauvegardée devrait maintenant apparaître dans la liste.<br />
Vous pouvez aussi sauvegarder vos réglages en cours de session, à partir de la boîte de<br />
dialogue 'Change Settings'. Les réglages modifiés depuis le début de la session seront<br />
sauvegardés avec leur valeur courante. Cela inclut les modifications apportées à la<br />
taille de la fenêtre, celles effectués au moyen de cette boîte de dialogue, les<br />
changements de titres effectués sur demande de la machine distante, et ainsi de suite.<br />
• Pour recharger une session sauvegardée, faites un simple clic pour choisir le nom de la<br />
session dans la liste déroulante, puis cliquez sur le bouton « Load ». Vos réglages<br />
sauvegardés doivent apparaître dans le panneau de configuration. Il n'y a alors plus<br />
qu'à cliquer sur « Open » pour vous connecter.<br />
• Pour modifier une session sauvegardée, commencez par la charger, comme décrit cidessus,<br />
changez ce que vous voulez changer, et pour finir, revenez au panneau de<br />
configuration « Session », et cliquez sur le bouton « Save ». Les nouveaux réglages<br />
seront sauvegardés par dessus les anciens.<br />
31
Logiciel d’administration pour IPCOP 1.4.x<br />
Pour sauvegarder les nouveaux réglages sous un nom différent, vous pouvez au choix<br />
entrer le nouveau nom dans le champ « Saved Sessions », ou faire un simple clic pour<br />
sélectionner un nom de session dans la liste déroulante afin de sauvegarder sous ce<br />
nom-là ( cela écrase l'ancienne configuration, bien sûr ). Pour faire de votre<br />
configuration actuelle la configuration par défaut, il faut faire un simple clic sur<br />
« Default Settings », avant de sauvegarder.<br />
• Pour lancer une session sauvegardée sans modifier quoi que ce soit dans les réglages,<br />
faites un double-clic sur le nom de la session, dans la liste déroulante (c’est comme si<br />
vous faisiez un simple clic sur le nom de la session, puis un autre sur le bouton<br />
« Open »).<br />
• Pour supprimer une session sauvegardée, faites un simple clic sur le nom de la session,<br />
dans la liste déroulante, puis cliquez sur le bouton « Delete ».<br />
Les sessions sauvegardées sont indépendantes de la configuration correspondant aux réglages<br />
par défaut. Si vous modifiez vos préférences, et que vous mettez à jour les réglages par défaut,<br />
il faut aussi que vous mettiez à jour, séparément, chacune de vos sessions sauvegardées ( cela<br />
ne se fera pas de façon automatique ).<br />
Les sessions sauvegardées sont stockées dans la Base de Registres, à l'emplacement :<br />
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions<br />
Si vous avez besoin de les sauvegarder dans un fichier, vous pouvez essayer la méthode<br />
décrite dans la section 4.26.<br />
I.3 Bouton radio « close Windows on exit » (fermer la fenêtre en<br />
quittant)<br />
Tout en bas du panneau 'Session' se trouve un groupe de boutons radio intitulé 'Close window<br />
on exit', qui vous permettent de choisir si la fenêtre de terminal de PuTTY doit se refermer,<br />
ou non, quand la session se termine. Si vous pouvez avoir besoin de copier/coller du texte<br />
affiché dans la fenêtre après que la session se soit terminée, ou avoir besoin de redémarrer la<br />
session, vous ne devriez pas activer cette option.<br />
Plus précisément, vous avez trois possibilités : si vous choisissez 'Always', la fenêtre se<br />
fermera dès que la session sera finie, quelles que soient les circonstances dans lesquelles elle<br />
s'est finie. Si vous choisissez 'Never', elle restera ouverte, mais inactive. Enfin, si vous<br />
choisissez 'Only on clean exit', qui est le choix par défaut, la fenêtre ne se fermera toute seule<br />
que si la session se termine normalement, et pas si la session est interrompue par un problème<br />
réseau ou par un message bizarre en provenance du serveur.<br />
32
II. Le panneau « Loggin »<br />
Logiciel d’administration pour IPCOP 1.4.x<br />
Le panneau de configuration « Logging » vous permet de sauvegarder des fichiers journaux<br />
de vos sessions PuTTY, que ce soit à des fins de debug, pour analyse, ou pour consultation<br />
ultérieure.<br />
Le réglage principal, ici, c'est un groupe de boutons radio qui permet de choisir si PuTTY doit<br />
enregistrer quelque chose, et si oui, ce qu'il doit enregistrer. Voici les différentes possibilités :<br />
• « None ». C'est le réglage par défaut. Dans ce mode, PuTTY ne crée pas du tout de<br />
fichier journal.<br />
• « Printable output ». Dans ce mode, un fichier journal est créé, mais PuTTY n'y met<br />
que le texte imprimable. Les différents codes de contrôle du terminal qui sont<br />
typiquement échangés au cours d'une session interactive, en plus du texte imprimable,<br />
ne figureront pas dedans. Ce mode de fonctionnement est probablement celui qui vous<br />
sera utile si vous voulez pouvoir lire un fichier journal dans un éditeur de texte, et que<br />
ce soit compréhensible.<br />
• « All session output ». Dans ce mode, tout ce qu'envoie la machine distante est<br />
journalisé. Si vous consultez le fichier journal avec un éditeur de texte, il y a donc de<br />
bonnes chances pour que ce soit un amas de « hiéroglyphes » dûs aux nombreux<br />
caractères de contrôle. Ce mode est très utile si vous rencontrez des problèmes avec la<br />
façon dont PuTTY gère le terminal : cela vous permet d'enregistrer tout ce qui est<br />
envoyé au terminal, de telle sorte que quelqu'un d'autre peut rejouer la session plus<br />
tard, au ralenti, et chercher ce qui ne va pas.<br />
• « SSH packets ». Dans ce mode ( qui n'est utilisé que par les connexions SSH ), les<br />
paquets de messages SSH qui transitent par la connexion cryptée sont écrits dans le<br />
fichier journal ( et aussi dans l'Observateur d'événements de Windows ). Cela peut<br />
vous être utile pour rechercher la cause d'un problème au niveau réseau, ou plus<br />
vraisemblablement pour envoyer aux auteurs de PuTTY pour accompagner un rapport<br />
de bug. ATTENTION : si vous vous authentifiez par un mot de passe, ce mot de passe<br />
peut apparaître dans le fichier journal. Veuillez vous reporter à la section 4.2.4 pour<br />
33
Logiciel d’administration pour IPCOP 1.4.x<br />
voir comment faire, éventuellement, pour retirer d'un fichier journal des informations<br />
sensibles, telles qu'un mot de passe, avant de l'envoyer à quelqu'un.<br />
• « SSH packets and raw data ». Dans ce mode, en plus des paquets en clair ( comme<br />
dans le mode précédent ), les paquets bruts ( cryptés, compressés, etc., etc. ) sont eux<br />
aussi inscrits dans le fichier journal. Cela peut s'avérer utile pour diagnostiquer des<br />
problèmes de corruption des données pendant leur transfert entre les machines.<br />
ATTENTION : la mise en garde ci-dessus au sujet des données sensibles s'applique<br />
également ici.<br />
Veuillez noter que les options de journalisation non spécifiques à SSH ( « Printable output »<br />
et « All session output » ) ne fonctionnent qu'avec PuTTY lui-même. Dans les programmes<br />
sans émulation de terminal ( tels que Plink ), ces options n'ont pas d'effet, même si elles ont<br />
été activées au moyen de réglages enregistrés dans une session sauvegardée.<br />
II.1 Champ « Log file Name » (nom du fichier journal)<br />
Saisissez dans le champ 'Log file name' le nom du fichier dans lequel vous voulez enregistrer<br />
le journal de la session. Le bouton 'Browse...' vous permet de choisir l'endroit où vous<br />
souhaitez placer ce fichier. Si vous savez d'avance où vous voulez le mettre, vous pouvez<br />
aussi taper directement le chemin complet.<br />
Le champ 'Log file name' accepte certaines séquences de caractères particulières dans le nom<br />
du fichier journal :<br />
• &Y sera remplacé par l'année en cours, sur quatre chiffres.<br />
• &M sera remplacé par le mois en cours, sur deux chiffres.<br />
• &D sera remplacé par le jour, sur deux chiffres.<br />
• &T sera remplacé par l'heure courante, sur six chiffres ( HHMMSS ) sans ponctuation.<br />
• &H sera remplacé par le nom ( complètement qualifié ) de la machine à laquelle vous<br />
vous connectez.<br />
Par exemple, si vous mettez c:\puttylogs\log-&h-&y&m&d-&t.dat, au final, vous aurez<br />
des fichiers dans ce genre :<br />
log-serveur1.exemple.com-20010528-110859.dat<br />
log-unixbox.quelquepart.org-20010611-221001.dat<br />
II.2 Bouton radio « What to do if the log file already exists »(que<br />
faire si le fichier journal existe déjà)<br />
Ces boutons radio vous permettent d'indiquer ce que PuTTY doit faire si au moment de<br />
commencer à écrire dans un fichier journal, il s'avère que le fichier existe déjà. Vous pouvez<br />
par exemple choisir d'écraser automatiquement le fichier existant et d'en commencer un autre<br />
du même nom. Vous pouvez aussi choisir d'ouvrir le fichier journal existant, et d'écrire à la<br />
fin, après les données qui s'y trouvent déjà. Enfin ( c'est l'option par défaut ), il est possible de<br />
ne pas configurer de comportement automatique, auquel cas PuTTY posera la question à<br />
l'utilisateur chaque fois que le cas se présentera.<br />
II.3 Case à cocher « Flush log file frequently »(vider le fichier<br />
journal fréquemment)<br />
Cette option vous permet de contrôler la fréquence à laquelle les informations écrites dans le<br />
journal de bord sont recopiées sur le disque dur. Par défault, PuTTY copie ces informations<br />
dès leur affichage à l'écran, donc si vous consultez le fichier journal pendant qu'une session<br />
34
Logiciel d’administration pour IPCOP 1.4.x<br />
est en cours, les informations du journal de bord seront à jour. Et si la machine client plante, il<br />
y a plus de chances que les informations soient préservées.<br />
Ce mode de fonctionnement peut toutefois engendrer une baisse des performances. Si vous<br />
trouvez que PuTTY est lent, alors que la journalisation est activée, vous pouvez essayer de<br />
désactiver l'option 'Flush log file frequently'. Gardez à l'esprit que le fichier journal, de ce<br />
fait, ne sera plus toujours aussi à jour que quand l'option est activée ( les données du journal<br />
de bord présentes en mémoire seront de toute façon recopiées sur disque à la fermeture du<br />
journal, c'est à dire à la fin de la session ).<br />
II.4 Case à cocher « Option specific to SSH packet<br />
logging »(Options spécifique à la journalisation des paquets SSH)<br />
Ces options, spécifiques à la journalisation des paquets SSH, ne s'appliquent ( bien entendu )<br />
que si la journalisation des paquets SSH est activée.<br />
Elles permettent de faire en sorte que certaines données sensibles et non cryptées des paquets<br />
SSH ne soient pas inscrites dans le fichier journal. Mais cela ne sert qu'à gêner les petits<br />
curieux qui fouinent comme-ci comme-ça. Un « vrai » pirate pourrait glaner beaucoup<br />
d'informations utiles dans ces journaux, même brouillés de la sorte ( par exemple la longueur<br />
des mots de passe ).<br />
II.4.1 Case à cocher « Omit known password field »( omettre les<br />
champs dont on sait qu'ils correspondent à des mots de passe')<br />
Lorsque cette case ( 'omettre les champs dont on sait qu'ils correspondent à des mots de<br />
passe' ) est cochée, le contenu des champs contenant des mots de passe en clair n'est pas<br />
transcrit dans le fichier journal des paquets transmis ( cela inclut les réponses de l'utilisateur<br />
dans les méthodes d'authentification de type question-réponse telles que la méthode<br />
'keyboard-interactive' ). Cela n'inclut pas les données d'authentification X11 quand on utilise<br />
le chiffrement du trafic X11.<br />
Il est important de noter que cela ne concerne que les données dont PuTTY sait que ce sont<br />
des mots de passe. Si vous lancez une seconde session interactive depuis votre session<br />
PuTTY, par exemple, tout mot de passe échangé dans le cadre de cette seconde session<br />
apparaîtra en clair dans le fichier journal des paquets. L'option ci-dessous ( 'Omit session<br />
data' ) peut être utile pour vous protéger contre cela.<br />
Cette option est activée par défaut.<br />
35
Logiciel d’administration pour IPCOP 1.4.x<br />
II.4.2 Case à Cocher « Omit session data »<br />
Lorsque cette case est cochée, toutes les « données de session » en clair sont volontairement<br />
omises du fichier journal. Par « données de session », on entend les données des sessions de<br />
terminal et celles qui transitent dans les connexions redirigées ( TCP, X11, et agent<br />
d'authentification ). Cela réduit donc souvent de façon substantielle la taille du fichier journal.<br />
Cette option est désactivée par défaut.<br />
III. Panneau « terminal »<br />
e panneau de configuration 'Terminal' vous permet de contrôler le comportement de<br />
l'émulateur de terminal de PuTTY.<br />
III.1 Case à cocher « Auto wrap mode initially on » (mode ‘retour à<br />
la ligne automatiquement ‘ initialement actif)<br />
Le mode « Auto wrap » ( retour à la ligne automatique ) détermine ce qui se passe quand le<br />
texte affiché dans la fenêtre de PuTTY atteint le bord droit de la fenêtre.<br />
Lorsque ce mode est actif, si une longue ligne de texte atteint le bord droit de la fenêtre, elle<br />
va se continuer sur la ligne suivante, de façon à ce que vous puissiez voir le texte en entier.<br />
Lorsque ce mode est inactif, le curseur va rester le long du bord droit de la fenêtre, et tous les<br />
caractères restants seront affichés les uns par dessus les autres.<br />
Si vous utilisez une application en plein-écran et que de temps à autre, vous trouvez que<br />
l'écran défile vers le haut alors qu'il ne devrait apparement pas, vous pouvez essayez de<br />
désactiver cette option.<br />
36
Logiciel d’administration pour IPCOP 1.4.x<br />
Le mode « Auto wrap » peut être activé et désactivé au moyen de séquences de contrôle<br />
émises par la machine distante. Cette option de configuration contrôle l'état par défaut, celui<br />
qui est restauré lorsque vous réinitialisez le terminal ( voir à ce sujet la section 3.1.3.6 ).<br />
Cependant, si vous modifiez ce réglage en cours de session, en passant par « Change<br />
Settings », cela prendra effet tout de suite.<br />
III.2 Case à cocher « DEC Origin Mode Initially on (mode ‘origine<br />
DEC’ initialement actif)<br />
Le « DEC Origin Mode » est une option mineure qui contrôle comment PuTTY doit<br />
interpréter les séquences de contrôle de la position du curseur émises par la machine distante.<br />
La machine distante peut émettre une séquence de contrôle qui restreint la zone de défilement<br />
de l'écran. Par exemple, dans un éditeur de texte, on peut imaginer que la machine distante<br />
souhaite se réserver une ligne tout en haut de l'écran, une autre tout en bas, et ne permette le<br />
défilement qu'entre ces deux lignes fixes. Elle pourrait pour cela envoyer une séquence de<br />
contrôle qui limite les défilements aux lignes restantes.<br />
Lorsque l'option « DEC Origin Mode » est active, les coordonnées du curseur sont comptées<br />
en partant du haut de la zone de défilement. Lorsqu'elle est inactive, les coordonnées du<br />
curseur sont comptées depuis le haut de l'écran, sans tenir compte d'une éventuelle restriction<br />
de la zone de défilement.<br />
Il est peu probable que vous ayez besoin de changer cette option, mais si vous vous retrouvez<br />
un jour avec une application en plein écran qui affiche des parties de texte à des endroits de<br />
l'écran qui semblent incorrects, vous pouvez essayez d'activer cette option pour voir si cela<br />
corrige le problème.<br />
Le « DEC Origin Mode » peut être activé et désactivé au moyen de séquences de contrôle<br />
émises par la machine distante. Cette option de configuration contrôle l'état par défaut, celui<br />
qui est restauré lorsque vous réinitialisez le terminal ( voir à ce sujet la section 3.1.3.6 ).<br />
Cependant, si vous modifiez ce réglage en cours de session, en passant par « Change<br />
Settings », cela prendra effet tout de suite.<br />
III.3 Case à cocher « Implicit CR in every LF »(retour chariot<br />
implicite après chaque passage à la ligne)<br />
La plupart des machines émettent deux caractères de contrôle, CR et LF, pour commencer une<br />
nouvelle ligne à l'écran. Le caractère CR ( carriage return = retour chariot ) fait revenir le<br />
curseur en début de ligne, au bord gauche de l'écran. Le caractère LF ( line feed = passage à la<br />
ligne ) fait descendre le curseur d'une ligne ( et fait éventuellement défiler l'écran vers le<br />
haut ).<br />
Certaines machines n'envoient que LF, et attendent du terminal qu'il s'occupe de ramener le<br />
curseur en début de ligne automatiquement. Si un jour vous vous retrouvez face à une<br />
machine qui fait cela, vous remarquerez que le texte s'affiche à l'écran en forme de marches<br />
d'escalier, comme ceci :<br />
Première ligne de texte<br />
Deuxième ligne<br />
Troisième ligne<br />
Si cela vous arrive, essayez d'activer l'option « Implicit CR in every LF ». Cela devrait<br />
suffire à corriger le problème :<br />
37
Première ligne de texte<br />
Deuxième ligne<br />
Troisième ligne<br />
Logiciel d’administration pour IPCOP 1.4.x<br />
III.4 Case à cocher « Use background color to erase<br />
screen »(utiliser la couleur d’arrière plan pour éffacer l’écran)<br />
Les terminaux ne sont pas tous d'accord sur la couleur à utiliser lorsque la machine distante<br />
envoie l'ordre d'effacer l'écran. Certains terminaux estiment que l'écran devrait toujours être<br />
repeint de la couleur d'arrière-plan par défaut. D'autres considèrent que l'écran devrait au<br />
contraire être repeint de la couleur choisie par la machine distante comme couleur d'arrièreplan.<br />
Et comme il y a des applications qui attendent les deux types de comportement, PuTTY<br />
peut être configuré pour faire soit l'un, soit l'autre.<br />
Lorsque cette option est désactivée, l'effacement de l'écran est toujours fait avec la couleur<br />
d'arrière-plan par défaut. Lorsqu'elle est activée, l'effacement est fait avec la couleur d'arrièreplan<br />
en vigueur à cet instant.<br />
L'effacement avec la couleur d'arrière-plan peut être activé ou désacitvé par une séquence de<br />
contrôle envoyée par la machine distante. Cette option de configuration détermine l'état par<br />
défaut, qui sera restauré lorsque vous réinitialiserez le terminal ( pour plus d'informations à ce<br />
sujet, voir la section 3.1.3.6 ). Cependant, si vous modifiez cette option en cours de session en<br />
passant par « Change Settings », la modification prendra effet immédiatement.<br />
III.5 Case à cocher « Enable blinking text »(activer le texte<br />
clignotant)<br />
La machine distante peut demander à PuTTY d'afficher du texte clignotant. Comme cela peut<br />
finir par agacer, PuTTY vous permet de désactiver complètement ce clignotement.<br />
Lorsque le clignotement du texte est désactivé et que la machine distante demande à afficher<br />
du texte clignotant, PuTTY affiche le texte avec une couleur d'arrière-plan différente.<br />
Le clignotement du texte peut être activé et désactivé au moyen de séquences de contrôle<br />
envoyées par la machine distante. Cette option de configuration contrôle l'état par défaut, qui<br />
sera restauré lorsque vous réinitialiserez le terminal ( voir à ce sujet la section 3.1.3.6 ).<br />
Cependant, si vous modifiez cette option en cours de session, en passant par « Change<br />
Settings », ce sera pris en compte immédiatement.<br />
38
Logiciel d’administration pour IPCOP 1.4.x<br />
III.6 Champs « Answerback to^E »(reponse au caractère contrôle<br />
E)<br />
Cette option détermine ce que PuTTY renvoie à la machine distante lorsque celle-ci envoie le<br />
caractère ^E. Normallement, PuTTY renvoie juste la chaîne « PuTTY ».<br />
Si vous affichez accidentellement le contenu d'un fichier binaire à l'écran, vous constaterez<br />
probablement qu'il contient un certain nombre de caractères ^E, et en conséquence, votre<br />
prochaine ligne de commande contiendra probablement des « PuTTYPuTTYPuTTY... »<br />
comme si vous aviez tapé la chaîne de réponse vous-même au clavier, plusieurs fois. Si vous<br />
mettez une chaîne de réponse vide, le problème devrait disparaître, mais cela peut être la<br />
source d'autres problèmes.<br />
N.B. : ce n'est pas cette chaîne-là que la machine distante interroge, en général, quand elle<br />
veut savoir le type de terminal que vous utilisez. La chaîne en question est celle intitulée<br />
« Terminal-type string » dans le panneau de configuration Connection. Veuillez vous<br />
reporter à la section 4.14.2 pour plus de détails à ce sujet.<br />
Vous pouvez mettre des caractères de contrôle dans la chaîne de réponse en utilisant la<br />
notation ^C. Utilisez ^~ pour obtenir un accent circonflexe sans rien en dessous ( « ^ » ).<br />
III.7 Bouton radio « Local echo »<br />
Lorsque l'écho local est désactivé, les caractères que vous tapez au clavier dans la fenêtre de<br />
PuTTY ne sont pas affichés en écho par PuTTY. Ils sont juste envoyés à la machine distante<br />
( et la machine distante, elle, peut éventuellement faire le choix de vous les renvoyer en écho,<br />
mais cela ne peut pas être contrôlé depuis le panneau de configuration de PuTTY ).<br />
Certains types de session ont besoin de l'écho local, d'autres non. Dans son mode de<br />
fonctionnement par défaut, PuTTY essaye de déterminer automatiquement s'il y a lieu ou non<br />
d'activer l'écho local pour la session dans laquelle vous travaillez. Si vous estimez qu'il a fait<br />
le mauvais choix, vous pouvez recourir à cette option de configuration pour passer outre sa<br />
décision : vous pouvez forcer l'activation de l'écho local, ou sa désactivation, au lieu de vous<br />
en remettre à la détection automatique.<br />
III.8 Bouton radio « Local line editing »(édition de ligne en local)<br />
Normalement, tous les caractères que vous tapez dans la fenêtre de PuTTY sont envoyés<br />
immédiatement à la machine distante, dès que vous les tapez au clavier.<br />
Si vous activez l'édition de ligne en local, il en va différemment, puisque PuTTY vous permet<br />
alors d'éditer une ligne entièrement, en local, et de n'envoyer la ligne à la machine distante<br />
que lorsque vous appuyez sur Entrée. Donc si vous faites une faute de frappe, vous pouvez<br />
utiliser la touche Retour arrière ( Backspace ), pour corriger, avant d'appuyer sur Entrée, et la<br />
machine distante ne verra même pas que vous avez fait une faute de frappe.<br />
Étant donné qu'il est difficile d'éditer une ligne en local sans voir ce que l'on tape, l'édition de<br />
ligne en local est souvent utilisée conjointement avec l'écho local ( cf. section 4.3.7 ). Cela la<br />
rend idéale quand on utilise une connexion de type 'Raw', ou quand on se connecte à un<br />
MUD (1) ou encore à des systèmes de discussion en ligne ( encore que certains MUD<br />
perfectionnés soient capables d'activer l'édition de ligne en local et de désactiver<br />
temporairement l'écho local, quand il y a besoin de saisir un mot de passe, par exemple ).<br />
39
Logiciel d’administration pour IPCOP 1.4.x<br />
Certains types de session ont besoin de l'édition de ligne en local, mais ce n'est pas le cas de la<br />
plupart. Dans son mode de fonctionnement par défaut, PuTTY essaye de déterminer<br />
automatiquement s'il y a lieu d'activer ou de désactiver l'édition de ligne en local, en fonction<br />
du type de session. Si vous trouvez qu'il a fait le mauvais choix, vous pouvez utiliser cette<br />
option de configuration pour passer outre ce mauvais choix : vous pouvez forcer l'activation<br />
de l'édition de ligne en local, ou sa désactivation, au lieu de vous en remettre au système de<br />
détection automatique.<br />
III.9 Impression contrôlée par la machine distante « Remotecontroller<br />
printing)<br />
Un grand nombre de terminaux compatibles VT100 supportent les impressions effectuées<br />
sous le contrôle de la machine distante. PuTTY supporte lui aussi cette fonctionnalité, mais<br />
elle est désactivée par défaut.<br />
Pour activer l'impression contrôlée par la machine distante, choisissez une imprimante dans la<br />
liste déroulante « Printer to send ANSI printer output to » ( « imprimante vers laquelle il<br />
faut envoyer les impressions ANSI » ). Cela devrait vous permettre de choisir parmi toutes les<br />
imprimantes pour lesquelles vous avez les pilotes installés sur votre ordinateur. Ou alors, si<br />
vous préférez, tapez le nom d'une imprimante réseau ( par exemple,<br />
\\nom_serveur_impression\nom_imprimante ) : cela, vous pouvez le faire même si vous<br />
n'avez pas encore installé de pilote pour cette imprimante sur votre machine.<br />
Lorsque la machine distante essaiera d'imprimer quelque chose, PuTTY enverra les données à<br />
l'imprimante telles quelles, brutes de fonderie, sans les traduire, sans essayer de les formater,<br />
ni quoi que ce soit. C'est à vous de vous assurer que la machine distante sait à quel modèle<br />
d'imprimante elle s'adresse.<br />
Étant donné que PuTTY envoie les données à imprimer telles quelles à l'imprimante, il n'y a<br />
pas moyen de choisir l'orientation de la feuille ( portrait ou paysage ), la qualité d'impression,<br />
ou encore le bac dans lequel il faut prendre le papier. Toutes ces choses sont habituellement<br />
gérées par le pilote d'impression, que PuTTY court-circuite, dans le cas présent. Si vous avez<br />
besoin de pouvoir choisir ce genre de choses, il faut que vous trouviez un moyen de<br />
configurer la machine distante pour qu'elle gère cela elle-même.<br />
Pour désactiver à nouveau l'impression contrôlée par la machine distante, il suffit de choisir<br />
« None (printing disabled) » dans la liste déroulante de sélection de l'imprimante, ce qui<br />
correspond au réglage par défaut.<br />
40
Logiciel d’administration pour IPCOP 1.4.x<br />
Chapitre 5 : Utilisation de PSCP pour transférer des fichiers de<br />
façon sûr<br />
PSCP, le client SCP ( Secure Copy ) associé à PuTTY, est un outil qui sert à transférer des<br />
fichiers de façon sûre d'une machine à une autre, via une connexion SSH.<br />
Si vous avez accès à un serveur SSH-2, il se peut que vous préfériez PSFTP ( cf. chapitre 6 )<br />
pour l'usage interactif. Mais il faut noter que PSFTP ne fonctionne généralement pas avec les<br />
serveurs SSH-1.<br />
I.Démarrage de PSCP<br />
PSCP est une application en ligne de commande. Vous ne pouvez donc pas vous contenter de<br />
double-cliquer sur son icône pour le lancer : il faut ouvrir une invite de commandes, et le<br />
lancer à partir de là. Sous Windows 95, 98, et Millenium, cela s'appelle « Commandes MS-<br />
DOS ». Sous Windows NT, 2000, et XP, c'est « Invite de commandes ». Vous trouverez cela<br />
dans la partie Programmes, ou Tous les programmes de votre menu Démarrer.<br />
Pour lancer PSCP sans avoir besoin de préciser le chemin complet à chaque fois, il faut que le<br />
répertoire où se trouve PSCP figure dans votre PATH, ou alors que vous soyez dans ce<br />
répertoire-là au moment où vous tapez la commande. Pour ajouter le répertoire d'installation<br />
de PSCP à votre variable d'environnement PATH, tapez ceci dans la fenêtre « Invite de<br />
commandes » :<br />
set PATH=C:\nom\du\répertoire\où\sont\installés\PuTTY\et\PSCP;%PATH%<br />
Cela fonctionnera jusqu'à ce que vous refermiez cette fenêtre « Invite de commandes ». Pour<br />
que cela reste d'une fois sur l'autre, sous Windows NT, 2000 et XP, allez dans l'icône Système<br />
du Panneau de configuration de Windows, sélectionnez l'onglet Avancé et cliquez sur le<br />
bouton Variables d'environnement (1) . Sous Windows 95, 98, et ME, il vous faudra modifier<br />
votre fichier AUTOEXEC.BAT pour y ajouter une commande set comme celle ci-dessus.<br />
(1) l'intitulé exact des onglets et des boutons varie d'une version de Windows à l'autre.<br />
II Utilisation de PSCP<br />
Une fois que vous avez lancé une invite de commandes, vous pouvez taper simplement pscp<br />
pour obtenir les traditionnelles explications de base. Cela vous indique la version de PSCP<br />
que vous utilisez, et comment utiliser le programme :<br />
C:\>pscp<br />
PuTTY Secure Copy client<br />
Release 0.60<br />
Usage: pscp [options] [user@]host:source target<br />
pscp [options] source [source...] [user@]host:target<br />
pscp [options] -ls [user@]host:filespec<br />
Options:<br />
-V print version information and exit<br />
-pgpfp print PGP key fingerprints and exit<br />
-p preserve file attributes<br />
-q quiet, don't show statistics<br />
-r copy directories recursively<br />
-v show verbose messages<br />
-load sessname Load settings from saved session<br />
-P port connect to specified port<br />
-l user connect with specified username<br />
-pw passw login with specified password<br />
41
Logiciel d’administration pour IPCOP 1.4.x<br />
-1 -2 force use of particular SSH protocol version<br />
-4 -6 force use of IPv4 or IPv6<br />
-C enable compression<br />
-i key private key file for authentication<br />
-noagent disable use of Pageant<br />
-agent enable use of Pageant<br />
-batch disable all interactive prompts<br />
-unsafe allow server-side wildcards (DANGEROUS)<br />
-sftp force use of SFTP protocol<br />
-scp force use of SCP protocol<br />
L'interface de PSCP ressemble beaucoup à la commande Unix scp ( c'est bon à savoir si celleci<br />
vous est familière ).<br />
II.1 Les bases<br />
Pour télécharger un ( ou plusieurs ) fichier(s) depuis une machine distante :<br />
pscp [options]<br />
[nom_utilisateur@]machine_distante:répertoire/source/sur/la/machine/distant<br />
e répertoire\cible\sur\la\machine\locale<br />
Donc pour copier le fichier /etc/hosts de la machine exemple.com, où on est connu sous le<br />
nom de fred, vers le fichier local c:\temp\exemple-hosts.txt, il faut taper :<br />
pscp fred@exemple.com:/etc/hosts c:\temp\exemple-hosts.txt<br />
Pour télécharger un ( ou plusieurs ) fichier(s) vers une machine distante :<br />
pscp [options] source [source...] [user@]host:target<br />
Donc pour copier le fichier local c:\documents\titi.txt vers la machine exemple.com, où<br />
l'on a un compte utilisateur fred, et l'y enregistrer dans le répertoire /tmp, sous le nom toto,<br />
il faut taper :<br />
pscp c:\documents\titi.txt fred@exemple.com:/tmp/toto<br />
Vous pouvez utiliser des caractères génériques pour transférer plusieurs fichiers à la fois, dans<br />
un sens ou dans l'autre :<br />
pscp c:\documents\*.doc fred@exemple.com:docfiles<br />
pscp fred@exemple.com:source/*.c c:\source<br />
Cependant, dans le second cas ( si vous utilisez des caractères génériques pour désigner<br />
plusieurs fichiers situés sur la machine distante ), il se peut que vous receviez un message<br />
d'avertissement dans ce genre : 'warning: remote host tried to write to a file called<br />
'terminal.c' when we requested a file called '*.c'. If this is a wildcard, consider<br />
upgrading to SSH-2 or using the '-unsafe' option. Renaming of this file has been<br />
disallowed'.<br />
C'est dû à un problème de sécurité fondamental dans l'ancienne version du protocole SCP : le<br />
client envoie au serveur une chaîne contenant des caractères génériques ( '*.c', par exemple ),<br />
et le serveur renvoie au client une liste de noms de fichiers correspondant au motif de la<br />
requête. Mais rien n'empêche le serveur de renvoyer au client une liste de noms de fichiers qui<br />
ne correspond pas au motif demandé, et d'écraser l'un des fichiers du client. Si vous<br />
demandez, disons, tous les fichiers correspondant au motif '*.c', le serveur peut bien vous<br />
renvoyer le fichier AUTOEXEC.BAT et en profiter pour installer un virus sur la machine cliente.<br />
42
Logiciel d’administration pour IPCOP 1.4.x<br />
Étant donné que c'est le serveur qui décide si tel ou tel nom de fichier correspond au motif<br />
demandé par le client, le client ne peut pas vérifier de façon fiable que les noms de fichiers<br />
renvoyés par le serveur correspondent au motif.<br />
PSCP s'efforce d'utiliser le protocole SFTP ( qui est plus récent, et qui fait partie de SSH-2 ) à<br />
chaque fois que c'est possible, parce que SFTP n'est pas affecté par cette faille de sécurité. Si<br />
vous vous adressez à un serveur SSH-2 qui gère le SFTP, vous ne verrez jamais cet<br />
avertissement ( vous pouvez imposer l'utilisation du protocole SFTP, s'il est disponible, avec<br />
l'option -sftp : cf. section 5.2.2.6 ).<br />
Si vous avez vraiment besoin d'envoyer une chaîne avec des caractères génériques à un<br />
serveur SSH-1, vous pouvez utiliser l'option de ligne de commande -unsafe lors de l'appel de<br />
PSCP :<br />
pscp -unsafe fred@exemple.com:source/*.c c:\source<br />
Cela supprime le message d'avertissement, et le transfert de fichiers se fera. Toutefois, il faut<br />
être conscient du fait qu'en utilisant cette option -unsafe, vous donnez au serveur la<br />
possibilité d'écrire dans n'importe quel fichier du répertoire de destination. Il ne faut donc<br />
utiliser cette option que si vous avez toute confiance en l'administrateur de la machine<br />
distante, et que si vous pensez qu'elle n'a pas été « visitée » par des pirates. Vous pouvez aussi<br />
faire ce genre de téléchargement dans un répertoire initialement vide, ce qui limite bien sûr le<br />
risque d'écrasement de fichiers existants. Notez que même en mode 'unsafe', PSCP empêche<br />
le serveur d'écrire ailleurs que dans le répertoire cible ( cela protège contre les noms de<br />
fichiers qui comporteraient des '..' dans le chemin d'accès, pour remonter au répertoire<br />
parent ).<br />
II.1.1 source (les fichiers à transferer)<br />
Un ou plusieurs fichiers à transférer (2) . Les caractères génériques sont autorisés. Leur syntaxe<br />
dépend du système d'exploitation auquel ils s'appliquent : si vous copiez des fichiers depuis<br />
une machine Windows vers un système UNIX, il faut utiliser les caractères génériques façon<br />
Windows ( par exemple *.* ), alors que si vous copiez depuis UNIX vers Windows, il faut<br />
utiliser la syntaxe correspondant à votre votre shell UNIX ( par exemple * ).<br />
Si la source du transfert est la machine distante, et si vous n'indiquez pas un chemin d'accès<br />
complet ( sous UNIX, un chemin commençant par un « slash » ), le répertoire que vous<br />
indiquez comme source du transfert sera interprété comme un chemin d'accès relatif partant<br />
de votre répertoire personnel ( home directory ) sur la machine distante.<br />
(2) dans la version anglaise de cette documentation, le terme d'origine était "One or more<br />
source files." Je me suis abstenu de traduire cela par "un ou plusieurs fichier source", afin<br />
d'éviter la confusion avec les fichiers source d'un programme, avant compilation.<br />
II.1.2 Target (l’emplacement cible, destination des fichiers)<br />
Le nom du fichier cible, ou le répertoire dans lequel il faut placer le ou les fichier(s). Quand<br />
on copie depuis une machine distante vers la machine locale, on veut souvent placer les<br />
fichiers copiés dans le répertoire courant, tout simplement. Pour faire cela, il suffit d'indiquer<br />
'.' ( juste un point ) comme répertoire cible. Par exemple, la commande :<br />
pscp fred@exemple.com:/home/tom/.emacs .<br />
...aurait pour effet de copier le fichier .emacs, qui se trouve dans le répertoire /home/tom/ sur<br />
la machine distante, dans le répertoire courant.<br />
43
Logiciel d’administration pour IPCOP 1.4.x<br />
Comme dans le cas du paramètre source, si l'emplacement cible se trouve sur la machine<br />
distante, et que ce n'est pas un chemin complet, partant de la racine, il sera interprété comme<br />
étant un chemin relatif à partir de votre répertoire personnel sur la machine distante.<br />
II.2 Les options<br />
PSCP accepte toutes les options en ligne de commande de PuTTY et des outils associés,<br />
exception faite, bien entendu, de celles qui n'ont pas de sens dans un utilitaire de transfert de<br />
fichiers ( veuillez vous reporter à la section 3.8.3 pour en savoir plus sur ces options ) ( celles<br />
que PSCP ne reconnît pas y sont clairement indiquées ).<br />
PSCP possède aussi certaines options qui lui sont propres. En voici la description :<br />
II.2.1 –ls faire la liste des fichiers distants (list remote files)<br />
Si l'option -ls figure sur la ligne de commande, aucun fichier n'est transféré, et la liste des<br />
fichiers présents sur la machine distante est affichée. Seuls le nom d'hôte de la machine<br />
distante et une éventuelle indication de nom de fichiers sont attendues. Exemple :<br />
pscp -ls fred@exemple.com:dir1<br />
pscp -ls fred@exemple.com:dir1/*.c<br />
Le protocole SCP en lui-même ne contient pas de commande qui permette de répérer la liste<br />
des fichiers de la machine distante. Si c'est le protocole SCP qui est utilisé, cette option sousentend<br />
que le serveur répond correctement à la commande ls -la. Il se peut que cela ne<br />
fonctionne pas avec tous les serveurs. Si c'est le protocole SFTP qui est utilisé, cette option<br />
doit normalement fonctionner avec tous les serveurs.<br />
II.2.2 –p conserver les attributs des fichiers (preserve file attibut)<br />
Par défaut, les fichiers copiés avec PSCP sont horodatés avec la date et l'heure auxquelles la<br />
copie a été faite. L'option -p permet de donner aux copies la date et l'heure des fichiers<br />
d'origine.<br />
II.2.3 –q ne pas afficher les statistiques<br />
Par défaut, PSCP affiche une ligne indiquant l'état du transfert en cours :<br />
mibs.tar | 168 kB | 84.0 kB/s | ETA: 00:00:13 | 13%<br />
Les champs affichés sont ( de gauche à droite ) le nom de fichier, la taille de ce qui a déjà été<br />
transféré ( en kilo-octets ), une estimation de la vitesse de transfert ( en kilo-octets par<br />
seconde ), une estimation du délai restant avant la fin du transfert (3) , et le pourcentage déjà<br />
transféré. L'option -q demande à PSCP de ne pas afficher ces statistiques.<br />
(3) ETA = Estimated Time of Arrival ( heure prévue d'arrivée ) : abréviation d'usage courant<br />
dans les transports publics.<br />
44
Logiciel d’administration pour IPCOP 1.4.x<br />
II.2.4 –r copie les fichiers de façon récursive<br />
Par défaut, PSCP ne copie que les fichiers. Si vous indiquez des répertoires parmi les choses à<br />
copier, ils seront ignorés, de même que leur contenu. L'option -r demande à PSCP d'aller<br />
dans les répertoires que vous indiquez, et de les copier ainsi que leur contenu. Ceci vous<br />
permet d'utiliser PSCP pour transférer des arborescences complètes d'une machine à une<br />
autre.<br />
II.2.5 –batch fonctionnement sans intervention de l’utilisateur<br />
Si vous utilisez l'option -batch, PSCP n'affichera aucune invite interactive pendant<br />
l'établissement de la connexion. Si la clé d'hôte de la machine distante est invalide, par<br />
exemple ( voir à ce sujet la section 2.2 ), la connexion sera tout simplement abandonnée, au<br />
lieu que PSCP vous demande ce qu'il y a lieu de faire.<br />
Cela peut faciliter l'utilisation de PSCP dans des scripts : avec l'option -batch, si quelque<br />
chose se passe mal lors de l'établissement de la connexion, le script se terminera, avec une<br />
erreur, plutôt que de rester bêtement coincé.<br />
II.2.6 –sfcp, -scp forcer l’utilisation d’un protocole en particulier<br />
Comme nous l'avons vu ci-dessus, dans la section 5.2.1, il y a deux protocoles de transfert de<br />
fichiers en usage dans SSH. En dépit de ce que son nom pourrait laisser croire, PSCP peut<br />
utiliser indifféremment ces deux protocoles ( tout comme la plupart des autres clients scp<br />
notables ).<br />
L'ancien protocole SCP n'a pas fait l'objet d'une spécification écrite et il laisse un grand<br />
nombre de choses à la charge du serveur. Les caractères génériques, par exemple, sont résolus<br />
par le serveur. On peut ainsi utiliser n'importe quelle chaîne comportant des caractères<br />
génériques, du moment qu'ils sont reconnus par le serveur. Cela peut causer des problèmes<br />
d'interopérabilité, comme la nécessité de mettre des guillemets autour des noms de fichiers<br />
lorsque ceux-ci comportent des espaces. Cela peut également poser des problèmes de sécurité<br />
( voir à ce sujet la section 5.2.1 ).<br />
Le protocole SFTP, plus récent, et qui va généralement de pair avec les serveurs SSH-2, a fait<br />
l'objet d'une spécification plus précise et il est moins dépendant de la plate-forme serveur. La<br />
résolution des caractères génériques, par exemple, est du ressort du client ( les caractères<br />
génériques reconnus par le protocole SFTP, tel qu'il est implémenté, dans PuTTY et les outils<br />
associés, sont décrits dans la section 6.2.2 ). Cela le rend plus cohérent d'une plate-forme à<br />
l'autre, plus adapté à l'usage dans des scripts et à l'automatisation, et cela évite les problèmes<br />
de sécurité liés à la résolution des caractères génériques.<br />
PSCP utilise le protocole SFTP en priorité, et ne se rabat sur le protocole SCP que si SFTP<br />
n'est pas géré par la machine distante.<br />
L'option -scp force PSCP à utiliser le protocole SCP, s'il est reconnu par la machine distante,<br />
et à laisser tomber dans le cas contraire.<br />
L'option -sftp force PSCP à utiliser le protocole SFTP, s'il est reconnu par la machine<br />
distante, et à laisser tomber s'il ne l'est pas. Lorsque cette option est utilisée, PSCP recherche<br />
activement un serveur SFTP, ce qui peut donner lieu à l'utilisation de SFTP avec un serveur<br />
SSH-1, selon la configuration de la machine distante.<br />
45
Logiciel d’administration pour IPCOP 1.4.x<br />
II.3 Valeurs de retour<br />
PSCP renvoie un ERRORLEVEL nul ( synonyme de succès ) uniquement si les fichiers ont été<br />
correctement transférés. Vous pouvez le vérifier, dans un script batch, en faisant comme ceci :<br />
pscp fichiers*.* nom_utilisateur@machine_distante:<br />
if errorlevel 1 echo Attention, il y a eu une erreur !<br />
II.4Utilisation de l’authentification à clé publique PSCP<br />
Tout comme PuTTY, PSCP sait gérer l'authentification par clé publique plutôt que par mot de<br />
passe. Il y a trois façons de faire cela.<br />
1. Premièrement, PSCP peut utiliser des sessions PuTTY sauvegardées en lieu et place<br />
de noms d'hôtes ( cf. section 5.2.1.2 ) :<br />
• Commencez par lancer PuTTY, en lui indiquant votre fichier de clé privée, et<br />
sauvegardez la session ( pour plus de détails au sujet de l'enregistrement de<br />
sessions PuTTY, veuillez vous reporter à la section 4.1.2, et pour savoir<br />
comment indiquer à PuTTY quel fichier de clé privée il doit utiliser, veuillez<br />
vous reporter à la section 4.20.7 ). Tant que vous y êtes, indiquez aussi le nom<br />
d'utilisateur ( cf. section 4.14.1 ) sous lequel vous voulez vous connecter.<br />
• Ensuite, dans PSCP, vous pouvez utiliser le nom de cette session sauvegardée<br />
à la place du nom d'hôte : tapez pscp nom_session:file localfile, en<br />
remplaçant nom_session par le nom de votre session sauvegardée.<br />
2. Deuxièmement, vous pouvez indiquer le nom d'un fichier de clé privée en ligne de<br />
commande, grâce à l'option -i ( pour plus d'informations à ce sujet, veuillez vous<br />
reporter à la section 3.8.3.18 ).<br />
3. Enfin, troisièmement, quand Pageant est lancé, PSCP essaie de s'authentifier en<br />
passant par Pageant ( pour plus d'informations à ce sujet, veuillez vous reporter au<br />
chapitre 9 ). Voici comment procéder :<br />
• Vérifiez que Pageant est bien lancé, et que votre clé privée est bien chargée<br />
dedans.<br />
• Indiquez à PSCP un nom d'utilisateur et un nom d'hôte comme vous le feriez<br />
en temps normal. PSCP détecte automatiquement que Pageant est lancé, et<br />
essaye d'utiliser les clés qui sont stockées dedans pour s'authentifier auprès de<br />
la machine distante.<br />
Pour plus d'informations au sujet de l'authentification par clé publique / clé privée, veuillez<br />
vous reporter au chapitre 8.<br />
46
Logiciel d’administration pour IPCOP 1.4.x<br />
Chapitre 6 : Utilisation de PSFTP pour transférer des fichiers de<br />
façon sûr<br />
PSFTP, le client SFTP de PuTTY, est un outil qui sert à transférer des fichiers de façon sûre<br />
au travers d'une connexion SSH.<br />
PSFTP diffère de PSCP sur deux points :<br />
• PSCP fonctionne avec pour ainsi dire n'importe quel serveur SSH, alors que PSFTP<br />
utilise le nouveau protocole SFTP, qui est propre à SSH-2 ( PSCP essaye lui aussi<br />
d'utiliser ce nouveau protocole dans la mesure du possible, mais il peut se rabattre sur<br />
l'équivalent SSH-1 en cas d'échec, ce qui n'est pas possible avec SFTP ).<br />
• PSFTP vous permet de transférer les fichiers de façon interactive, comme la<br />
commande Windows ftp. Vous pouvez lister le contenu des répertoires, vous déplacer<br />
au sein du système de fichiers distant, passer de multiples commandes get et put, puis<br />
refermer votre session. PSCP, lui, est conçu pour réaliser un transfert, et pour se<br />
terminer automatiquement tout de suite après.<br />
I.Démarrage de PSFTP<br />
La manière habituelle de lancer PSFTP, c'est depuis une invite de commandes, comme pour<br />
PSCP. Pour cela, il faut soit que le répertoire de PSFTP figure dans votre variable<br />
d'environnement PATH, soit que PSFTP se trouve dans le répertoire courant. Pour ajouter le<br />
répertoire qui contient PSFTP à votre variable PATH, tapez ceci dans une invite de commandes<br />
Windows :<br />
set PATH=C:\nom\du\répertoire\de\PuTTY\;%PATH%<br />
Contrairement à PSCP, toutefois, PSFTP n'a pas d'options de ligne de commande avec une<br />
syntaxe compliquée. Il vous suffit d'indiquer le nom de la machine distante et éventuellement<br />
un nom d'utilisateur :<br />
psftp serveur.exemple.com<br />
ou éventuellement :<br />
psftp fred@serveur.exemple.com<br />
Vous pouvez également taper juste psftp tout seul, ou double-cliquer sur l'icône de PSFTP<br />
dans l'interface Windows. Vous obtiendrez alors l'invite de PSFTP, et un message vous<br />
signalant que PSFTP n'est connecté à aucun serveur :<br />
C:\>psftp<br />
psftp: no hostname specified; use "open host.name" to connect<br />
psftp><br />
À partir de là, vous pouvez taper open serveur.exemple.com ou open<br />
fred@serveur.exemple.com pour lancer une session.<br />
PSFTP reconnaît les mêmes options de ligne de commande que les autres outils PuTTY,<br />
hormis celles qui n'ont pas de sens dans le contexte d'un utilitaire de transfert de fichiers.<br />
Veuillez vous reporter à la section 3.8.3 pour avoir une description de ces options ( celles qui<br />
ne sont pas reconnues par PSFTP sont clairement indiquées ).<br />
47
Logiciel d’administration pour IPCOP 1.4.x<br />
PSFTP gère également certaines options qui lui sont propres. Les sections suivantes décrivent<br />
les options en ligne de commande spécifiques de PSFTP.<br />
I.1 –b : indiquer le nom d’un fichier de commande par lots<br />
En fonctionnement normal, PSFTP est un programme interactif qui affiche une invite de<br />
commande et qui traite les commandes entrées au clavier.<br />
Si vous avez besoin d'automatiser des tâches avec PSFTP, vous préférerez probablement<br />
indiquer un ensemble de commandes préparées d'avance, et enchaîner leur exécution<br />
automatiquement. L'option -b vous permet de le faire. Elle vous sert à indiquer le nom d'un<br />
fichier de commandes par lots ( -b = batch ). Par exemple, vous pourriez créer un fichier<br />
mon_script.scr contenant des lignes comme celles-ci :<br />
cd /home/ftp/users/jeff<br />
del jam-old.tar.gz<br />
ren jam.tar.gz jam-old.tar.gz<br />
put jam.tar.gz<br />
chmod a+r jam.tar.gz<br />
puis le lancer en tapant :<br />
psftp nom_utilisateur@nom_machine -b monscript.scr<br />
Lorsque vous exécutez un script batch de cette manière, PSFTP interrompt le script si l'une<br />
des commandes échoue. Pour modifier ce comportement, vous pouvez ajouter l'option -be<br />
( cf. section 6.1.3 ).<br />
PSFTP se termine une fois qu'il a fini d'exécuter le script.<br />
I.2 –bc : Afficher les commandes par lots à mesure qu’elles sont<br />
exécutées<br />
L'option -bc influe sur ce que PSFTP affiche lorsqu'il traite un fichier de commandes par lots<br />
dont on lui a indiqué le nom au moyen de l'option -b. Avec l'option -bc, PSFTP affiche les<br />
invites de commande et les commandes elles-mêmes, tout comme si ces commandes avaient<br />
éé entrées à la main. Donc au lieu de voir ceci :<br />
C:\>psftp fred@nom_machine -b fichier_batch<br />
Sent username "fred"<br />
Remote working directory is /home/fred<br />
Listing directory /home/fred/lib<br />
drwxrwsr-x 4 fred fred 1024 Sep 6 10:42 .<br />
drwxr-sr-x 25 fred fred 2048 Dec 14 09:36 ..<br />
drwxrwsr-x 3 fred fred 1024 Apr 17 2000 jed<br />
lrwxrwxrwx 1 fred fred 24 Apr 17 2000 timber<br />
drwxrwsr-x 2 fred fred 1024 Mar 13 2000 trn<br />
vous verrez cela :<br />
C:\>psftp fred@nom_machine -bc -b fichier_batch<br />
Sent username "fred"<br />
Remote working directory is /home/fred<br />
psftp> dir lib<br />
Listing directory /home/fred/lib<br />
drwxrwsr-x 4 fred fred 1024 Sep 6 10:42 .<br />
drwxr-sr-x 25 fred fred 2048 Dec 14 09:36 ..<br />
drwxrwsr-x 3 fred fred 1024 Apr 17 2000 jed<br />
48
Logiciel d’administration pour IPCOP 1.4.x<br />
lrwxrwxrwx 1 fred fred 24 Apr 17 2000 timber<br />
drwxrwsr-x 2 fred fred 1024 Mar 13 2000 trn<br />
psftp> quit<br />
I.3 –be : poursuivre le traitement par lot en cas d’erreur<br />
Lorsque vous exécutez un fichier de commandes par lots, cette option supplémentaire fait en<br />
sorte que PSFTP n'interrompe pas le traitement, même si l'une des commandes échoue.<br />
Cela peut être intéressant, par exemple, si vous avez besoin d'effacer un fichier, et que vous<br />
ne voulez pas que le script s'arrête si le fichier à supprimer n'existe pas.<br />
I.4 –Batch : éviter les commandes interactive<br />
Si vous utilisez l'option -batch, PSFTP n'affiche aucune invite de commandes interactive<br />
pendant l'établissement de la connexion. Si la clé d'hôte du serveur est invalide, par exemple<br />
( voir à ce sujet la section 2.2 ), alors la connexion est simplement abandonnée, au lieu que<br />
PSFTP ne vous demande ce qu'il y a lieu de faire ensuite.<br />
Ceci peut être commode lorsque PSFTP est utilisé dans des scripts batch : grâce à l'option -<br />
batch, si quelque chose ne se passe pas correctement au moment de la connexion, le job se<br />
finit sur une erreur, mais il ne plante pas.<br />
II Utilisation de PSFTP<br />
Une fois que vous avez lancé votre session PSFTP, vous obtenez l'invite de commandes<br />
psftp>. Vous pouvez alors taper des commandes au clavier pour effectuer des transferts de<br />
fichiers. Cette partie recense toutes les commandes disponibles.<br />
II.1 Règles générales d'utilisation des guillemets dans les<br />
commandes PSFTP<br />
La plupart des commandes PSFTP sont considérées par l'interpréteur de commandes de<br />
PSFTP comme une suite de mots séparés par des espaces. Par exemple, la commande ren<br />
ancien_nom_de_fichier nouveau_nom se scinde en trois mots : ren ( le nom de la<br />
commande ), ancien_nom_de_fichier ( le nom du fichier à renommer ), et nouveau_nom<br />
( le nouveau nom du fichier ).<br />
Certaines fois, les noms de fichiers comportent des espaces. Dans ces cas-là, il vous faut<br />
entourer le nom avec des guillemets doubles. Cela fonctionne pour les noms de fichiers<br />
locaux comme pour les noms de fichiers distants :<br />
psftp> get "nom de fichier avec des espaces.txt" "nouveau nom avec des<br />
espaces aussi.txt"<br />
Les guillemets doubles en eux-mêmes ne font pas partie des noms de fichiers. Ils sont retirés<br />
par PSFTP et ils ne servent qu'à éviter que les espaces figurant dans les noms de fichiers<br />
n'agissent comme des séparateurs de fichiers.<br />
Si vous avez besoin de taper un guillemet double ( certains systèmes d'exploitation, comme<br />
Unix, autorisent les guillemets dans les noms de fichiers ), vous pouvez le faire en doublant<br />
les guillemets . Cela fonctionne dans tous les cas, que le nom de fichier soit entouré de<br />
guillemets ou non. Exemple :<br />
49
Logiciel d’administration pour IPCOP 1.4.x<br />
psftp> ren ""ceci"" "un nom de fichier avec des ""guillemets"" dedans"<br />
La commande ci-dessus sert à renommer le fichier "ceci" ( remarquez les guillemets au<br />
début et à la fin du nom : ils font partie du nom du fichier ), et à lui donner comme nouveau<br />
nom un nom de fichier avec des "guillemets" dedans.<br />
La seule exception à cette règle est la commande !, qui transmet sa ligne de commande à<br />
Windows directement, sans la scinder en mots séparés ( voir à ce sujet la section 6.2.19 ).<br />
II.2 Les caractères génériques dans PSFTP<br />
Plusieurs commandes de PSFTP autorisent l'utilisation de caractères génériques pour<br />
sélectionner plusieurs fichiers à la fois.<br />
Pour indiquer un fichier local ( comme par exemple le premier argument de la commande<br />
put ), ce sont les règles en vigueur dans le système d'exploitation local qui s'appliquent. Par<br />
exemple, sous Windows, il faut mettre *.* pour désigner tous les fichiers, alors que sous<br />
Unix, il suffit de mettre *.<br />
Pour indiquer un fichier distant ( comme le premier argument de la commande get ), PSFTP<br />
utilise une syntaxe similaire à celle des caractères génériques de la norme POSIX :<br />
• * correspond à n'importe quelle suite de caractères ( y compris la chaîne vide ).<br />
• ? correspond à à exactement un caractère, quel qu'il soit.<br />
• [abc] correspond à un caractère ( un et un seul ), parmi les trois indiqués : a, ou b, ou<br />
c.<br />
[a-z] correspond à un caractère, n'importe lequel, dans la plage de a à z.<br />
[^abc] correspond à un caractère ( unique ) qui n'est ni a, ni b, ni c.<br />
Cas particuliers : [-a] correspond à un tiret ( - ) ou à la lettre a. [^-a] correspond à<br />
tous les autres caractères. [a^] correspond à un « chapeau », autrement dit un accent<br />
circonflexe sans lettre en dessous ( ^ ) ou à la lettre a.<br />
• \ ( barre oblique inverse, ou backslash ) : placé avant n'importe lequel des caractères<br />
ci-dessus ( ou de lui-même ), annule la signification particulière de ce caractère.<br />
Un point ( . ) placé au début d'un nom de fichier n'a pas de signification spéciale,<br />
contrairement à certains contextes, sous Unix ( où il sert à indiquer un fichier caché [NdT] ).<br />
La commande get * récupère tous les fichiers, que leur nom commence par un point ou pas.<br />
II.3 La commande open : pour démarrer une session<br />
Si vous avez lancé PSFTP depuis le menu Démarrer, ou en double-cliquant sur son icône, ou<br />
encore en tapant psftp en ligne de commande, il faut vous connecter à une machine qui fait<br />
serveur SFTP avant de pouvoir taper d'autres commandes ( mis à part help et quit ).<br />
Pour établir une connexion, tapez open nom.de.la.machine.distante, ou alors, si vous<br />
avez besoin de préciser un nom d'utilisateur pour vous y connecter, open<br />
nom_utilisateur@nom.de.la.machine.distante.<br />
Une fois que vous avez tapé cette commande, vous ne pourrez plus la taper à nouveau, même<br />
si la commande échoue ( par exemple, si vous vous trompez en tapant le nom de la machine<br />
distante, ou si le délai maximal d'attente s'écoule avant que la connexion n'ait pu être établie ).<br />
Donc si la connexion ne s'ouvre pas correctement, PSFTP se termine sans autre forme de<br />
procès ( et vous êtes bon pour réessayer ).<br />
50
Logiciel d’administration pour IPCOP 1.4.x<br />
II.4 La commande quit : pour terminer votre session<br />
Lorsque vous avez fini ce que vous aviez à faire, tapez quit pour fermer la connexion, quitter<br />
PSFTP et revenir à la ligne de commande ( ou fermez juste la fenêtre de la console PSFTP si<br />
vous l'aviez lancée depuis le menu Démarrer, ou en double-cliquant sur son icône ).<br />
Vous pouvez aussi utiliser les commandes bye et exit, qui ont exactement le même effet.<br />
II.5 La commande close : pour fermer votre connexion<br />
Si vous voulez juste fermer la connexion réseau, sans arrêter PSFTP, utilisez la commande<br />
close. Vous pouvez alors taper open pour ouvrir une nouvelle connexion<br />
II.6 La commande help : pour obtenir rapidement de l'aide en ligne<br />
Si vous tapez help tout court, PSFTP affiche la liste des commandes disponibles.<br />
Si vous tapez help suivi d'un nom de commande, comme par exemple help get, alors<br />
PSFTP affiche un petit texte d'aide sur cette commande en particulier.<br />
II.7 Les commandes cd et pwd : pour changer de répertoire de<br />
travail sur la machine distante<br />
PSFTP garde en mémoire quel est votre « répertoire de travail » sur la machine distante, et<br />
l'utilise comme répertoire par défaut pour les commandes que vous tapez sans préciser de<br />
répertoire. Par exemple, si vous tapez get mon_fichier.dat, PSFTP cherche un fichier<br />
nommé mon_fichier.dat dans votre répertoire de travail sur la machine distante ( s'il l'y<br />
trouve, tant mieux, et sinon, cela fait une erreur ).<br />
Pour changer de répertoire de travail sur la machine distante, utilisez la commande cd.<br />
Utilisée sans argument, cd vous ramène dans votre répertoire personnel sur la machine<br />
distante ( ou plus exactement, dans le répertoire de la machine distante où vous vous trouviez<br />
lorsque la connexion a été établie ).<br />
Pour connaître votre répertoire de travail, sur la machine distante, à un instant donné, tapez<br />
pwd.<br />
II.8 Les commandes lcd et lpwd : pour changer de répertoire de<br />
travail sur la machine locale<br />
En plus d'avoir un répertoire de travail sur la machine distante, PSFTP a aussi un répertoire de<br />
travail en local, sur votre PC ( comme n'importe quel autre processus Windows ). C'est le<br />
répertoire local par défaut sur lequel portent les commandes PSFTP. Par exemple, si vous<br />
tapez get mon_fichier.dat ( sans plus d'indications sur l'endroit où il faut le mettre ),<br />
PSFTP sauvegarde le fichier mon_fichier.dat dans votre répertoire de travail local.<br />
51
Logiciel d’administration pour IPCOP 1.4.x<br />
Pour modifier votre répertoire de travail local, utilisez la commande lcd ( local change<br />
directory [NdT] ).<br />
Pour savoir quel est votre répertoire de travail local à un instant donné, tapez lpwd ( local<br />
print working directory [NdT] ).<br />
II.9 La commande get : pour transférer un fichier depuis la machine<br />
distante<br />
Pour télécharger un fichier depuis la machine distante, et le placer en local sur votre PC,<br />
utilisez la commande get.<br />
Dans sa forme la plus simple, il suffit de lui indiquer un nom de fichier :<br />
get mon_fichier.dat<br />
Si vous voulez stocker le fichier sous un nom local différent, précisez-le après le nom qu'a le<br />
fichier sur la machine distante :<br />
get mon_fichier.dat nouveau_nom.dat<br />
Cela prendra sur la machine distante un fichier nommé mon_fichier.dat, mais cela le<br />
sauvegardera sur la machine locale sous le nom nouveau_nom.dat.<br />
Pour télécharger un répertoire entier, de façon récursive, il suffit de rajouter l'option -r :<br />
get -r mon_dossier<br />
get -r mon_dossier nouveau_nom<br />
Si vous avez besoin de télécharger un fichier dont le nom commence par un tiret, utilisez<br />
l'option spéciale --, qui indique à get de ne pas considérer comme une option ce qu'il y a<br />
après. Exemple :<br />
get -- -nom-de-fichier-bizarre-avec-des-tirets-de-partout-<br />
II.10 La commande put : pour transférer un fichier vers la machine<br />
distante<br />
Pour télécharger un fichier vers la machine distante depuis votre PC, utilisez la commande<br />
put.<br />
Dans sa forme la plus simple, il suffit de lui indiquer un nom de fichier :<br />
put mon_fichier.dat<br />
Si vous voulez donner au fichier, sur la machine distante, un nom différent de celui qu'il avait<br />
en local, indiquez-le après le nom local :<br />
put mon_fichier.dat nouveau_nom.dat<br />
Cela enverra sur la machine distante un fichier local nommé mon_fichier.dat, mais en le<br />
sauvegardant sous le nom nouveau_nom.dat.<br />
52
Logiciel d’administration pour IPCOP 1.4.x<br />
Pour envoyer un répertoire entier, de façon récursive, il suffit de rajouter l'option -r :<br />
put -r mon_dossier<br />
put -r mon_dossier nouveau_nom<br />
Si vous avez besoin d'envoyer sur la machine distante un fichier dont le nom commence par<br />
un tiret, utilisez l'option spéciale --, qui indique à put de ne pas considérer comme une option<br />
ce qu'il y a après. Exemple :<br />
put -- -nom-de-fichier-bizarre-avec-des-tirets-de-partout-<br />
II.11 Les commandes mget et mput : pour transférer plusieurs<br />
fichiers à la fois, dans un sens ou dans l'autre<br />
La commande mget fonctionne presque exactement comme get, à ceci près qu'elle vous<br />
permet de transférer plusieurs fichiers en une seule fois. Vous pouvez faire cela de deux<br />
manières :<br />
• vous pouvez indiquer explicitement deux noms de fichiers ( voire plus ) :<br />
mget fichier1.txt fichier2.txt<br />
• comme vous pouvez aussi utiliser des caractères génériques :<br />
mget *.txt<br />
Autre différence, par rapport à get : chacun des arguments de mget est considéré comme le<br />
nom d'un fichier à transférer, ou comme une expression comportant des caractères génériques<br />
pour désigner plusieurs fichiers en une seule fois ( contrairement à get, qui ne considère que<br />
son premier argument comme le nom d'un fichier à transférer, et qui considère un éventuel<br />
second argument comme le nom local qu'il faut donner au fichier, une fois celui-ci transféré ).<br />
Les options -r et -- de la commande get valent également pour la commande mget.<br />
La commande mput est similaire à la commande put, avec les mêmes différences qu'entre get<br />
et mget.<br />
53
Logiciel d’administration pour IPCOP 1.4.x<br />
II.12 Les commandes reget et reput : pour reprendre des<br />
transferts de fichiers après interruption<br />
Si un transfert de fichier échoue ( dans un sens ou dans l'autre ), et que vous vous retrouvez<br />
avec une moitié de fichier dans le répertoire de destination, vous pouvez relancer le transfert<br />
grâce aux commandes reget et reput. Elles fonctionnent exactement de la même manière<br />
que les commandes get et put, à ceci près qu'elles tiennent compte de ce qui a déjà été<br />
téléchargé, et qu'elles reprennent le transfert là où il en était resté.<br />
La syntaxe de reget et de reput est exactement la même que celle de get et de put :<br />
reget mon_fichier.dat<br />
reget mon_fichier.dat nouveau_nom.dat<br />
reget -r mon_dossier<br />
Ces commandes sont là pour permettre de reprendre des transferts de fichiers interrompus.<br />
Elles considèrent que le fichier ou l'arborescence à transférer n'a pas changé depuis la<br />
précédente tentative de transfert. S'il y a eu des modifications, vous allez vous retrouver avec<br />
des fichiers corrompus, qui ne correspondent pas à ce que vous attendez. En particulier,<br />
l'option -r ne tiendra pas compte des modifications survenues sur des fichiers ou des<br />
répertoires qui ont déjà été transférés correctement ( il ne faut donc pas utiliser les<br />
commandes reget et reput comme des outils de synchronisation - elles ne sont pas faites<br />
pour cela - mais uniquement pour reprendre un transfert interrompu, assez rapidement après<br />
l'échec de la tentative précédente [NdT] ).<br />
II.13 La commande dir : pour lister les fichiers de la machine<br />
distante<br />
Pour lister les fichiers présents dans votre répertoire de travail sur la machine distante, il vous<br />
suffit de taper dir.<br />
Vous pouvez également consulter le contenu d'un autre répertoire en indiquant son nom après<br />
la commande dir :<br />
dir /home/fred<br />
dir sources<br />
Enfin, vous pouvez restreindre l'affichage à une partie du contenu du répertoire grâce aux<br />
caractères génériques habituels :<br />
dir /home/fred/*.txt<br />
dir sources/*.c<br />
La commande ls fonctionne exactement de la même manière que dir.<br />
II.14 La commande chmod : pour modifier les permissions de fichiers<br />
sur la machine distante<br />
54
Logiciel d’administration pour IPCOP 1.4.x<br />
PSFTP vous permet de modifier les permissions des fichiers et des répertoires situés sur la<br />
machine distante. Pour cela, utilisez la commande chmod, qui fonctionne de façon très<br />
similaire à la commande Unix du même nom.<br />
La syntaxe est la suivante : chmod modes fichier, avec modes qui correspond à la<br />
modification à apporter aux permissions du fichier, et fichier qui est le nom du fichier dont<br />
il faut modifier les permissions. Vous pouvez indiquer plusieurs noms de fichiers à la fois, et<br />
l'usage des caractères génériques est autorisé. Exemple :<br />
chmod go-rwx,u+w fichier_perso<br />
chmod a+r public*<br />
chmod 640 fichier1 fichier2<br />
Le paramètre modes peut être un ensemble de chiffres en octal dans le style Unix ( si vous ne<br />
savez pas ce que cela signifie, mieux vaut éviter de s'en servir ! ).<br />
Ce peut être aussi une liste de modifications sur les permissions, séparées par des virgules.<br />
Chacune de ces modifications se compose de trois choses :<br />
• les personnes concernées par la modification :<br />
o u ( user ) : l'utilisateur propriétaire du fichier,<br />
o g ( group ) : les membres du groupe propriétaire du fichier,<br />
o o ( others ) : tous les autres utilisateurs,<br />
o ou une combinaison de ces trois lettres,<br />
o ou encore a ( all ), pour concerner tout le monde en une seule fois.<br />
• un signe + ou -, pour indiquer si les permissions doivent être accordées ou retirées.<br />
• les permissions qu'il faut effectivement accorder ou retirer :<br />
o r ( read ) : permission de lire le fichier,<br />
o w ( write ) : permission d'écrire dans le fichier,<br />
o x ( execute ) : permission d'exécuter le fichier ou, dans le cas d'un répertoire,<br />
permission d'accéder aux fichiers que contient ce répertoire.<br />
Les exemples donnés ci-dessus correspondraient donc à cela :<br />
• Dans le premier exemple, go-rwx retire les permissions de lecture, d'écriture et<br />
d'exécution pour les membres du groupe propriétaire et pour tous les autres gens ( tous<br />
les autres gens sauf le propriétaire du fichier, bien entendu ). Les seules permissions<br />
qui restent sont donc celles accordées au propriétaire du fichier. Et u+w ajoute au<br />
propriétaire du fichier la permission d'écrire dans le fichier.<br />
• Dans le second exemple, a+r ajoute la permission de lire à tout le monde, pour tous<br />
les fichiers et les répertoires dont le nom commence par 'public'.<br />
En plus de tout cela, il y a quelques petites particulariés propres aux systèmes Unix ( qui ont<br />
bien peu de chances de servir à quoi que ce soit sur les systèmes non-Unix ) :<br />
• Vous pouvez utiliser u+s et u-s pour positionner et - respectivement - pour retirer le<br />
bit « set-user-ID ». Ce bit particulier n'est utile que dans des cas bien précis. Veuillez<br />
vous référer à la documentation de votre système Unix si vous avez un doute à ce<br />
sujet.<br />
• Vous pouvez utiliser g+s et g-s pour positionner et - respectivement - pour retirer le<br />
bit « set-group-ID ». Sur un fichier, ce bit agit comme le bit set-user-ID ( encore une<br />
fois, reportez vous à la documentation de votre système ). Sur un répertoire, il fait en<br />
sorte que les fichiers créés dans ce répertoire soient accessibles aux membres du<br />
groupe qui est propriétaire du répertoire.<br />
55
Logiciel d’administration pour IPCOP 1.4.x<br />
• Vous pouvez utiliser +t et -t pour positionner et - respectivement - pour retirer le<br />
« sticky bit ». Appliqué à un répertoire, ce bit a pour effet de permettre au propriétaire<br />
d'un fichier ( situé dans ce répertoire ) de supprimer ce fichier ( alors que,<br />
habituellement, seul le propriétaire du répertoire a le droit de le faire ).<br />
II.15 La commande del : effacer des fichiers sur la machine<br />
distante<br />
Pour supprimer un fichier sur la machine distante, tapez del avec le nom du ou des fichiers à<br />
effacer :<br />
del vieux_fichier.dat<br />
del fichier1.txt fichier2.txt<br />
del *.o<br />
Les fichiers sont supprimés sans demande de confirmation, même si la demande de<br />
suppression porte sur plusieurs fichiers.<br />
del ne supprime que les fichiers. Si vous voulez supprimer des répertoires, c'est rmdir qu'il<br />
faut utiliser.<br />
La commande rm fonctionne exactement de la même manière que del.<br />
II.16 La commande mkdir : pour créer des répertoires sur la<br />
machine distante<br />
Pour créer un répertoire sur la machine distante, tapez mkdir suivi du nom du répertoire :<br />
mkdir nouveau_dossier<br />
Il est possible de créer plusieurs répertoires en une seule fois<br />
mkdir dossier1 dossier2 dossier3<br />
II.17 La commande rmdir : pour effacer des répertoires sur la<br />
machine distante<br />
Pour supprimer un répertoire sur la machine distante, tapez rmdir suivi du nom du (ou des)<br />
répertoire(s) à supprimer :<br />
rmdir vieux_machins<br />
rmdir *.old vieilleries<br />
Les répertoires seront effacés sans demande de confirmation, même s'il y en a plusieurs à<br />
supprimer d'un coup.<br />
La plupart des serveurs SFTP refusent de supprimer un répertoire non vide, donc il vous<br />
appartient d'en effacer le contenu auparavant.<br />
56
Logiciel d’administration pour IPCOP 1.4.x<br />
57
Logiciel d’administration pour IPCOP 1.4.x<br />
II.18 La commande mv : pour déplacer et renommer des fichiers sur<br />
la machine distante<br />
Pour renommer un seul fichier sur la machine distante, tapez mv, suivi du nom actuel du<br />
fichier, puis de son nouveau nom :<br />
mv ancien_nom nouveau_nom<br />
Vous pouvez aussi déplacer le fichier vers un autre répertoire, et le renommer par la même<br />
occasion :<br />
mv ancien_nom ailleurs/nouveau_nom<br />
Pour déplacer un ou plusieurs fichiers dans un sous-répertoire déjà existant, indiquez le nom<br />
du ou des fichiers à déplacer ( avec des caractères génériques, si besoin est ), puis le nom du<br />
répertoire cible :<br />
mv fichier dossier<br />
mv fichier1 dossier1/fichier2 dossier2<br />
mv *.c *.h ..<br />
Les commandes rename et ren fonctionnent exactement de la même manière que mv.<br />
II.19 La commande ! : lancer une commande Windows sur la machine<br />
locale<br />
Vous pouvez lancer des commandes Windows sur la machine locale grâce à la commande !.<br />
C'est la seule commande de PSFTP qui ne soit pas soumise aux règles d'utilisation des<br />
guillemets expliquées dans la section 6.2.1. Quand une ligne de commande commence par le<br />
caractère !, le reste de la ligne est transmis à Windows tel quel.<br />
Par exemple, si vous voulez déplacer une copie existante d'un fichier avant d'en télécharger<br />
une nouvelle version, vous pouvez taper par exemple :<br />
psftp> !ren mon_fichier.dat mon_fichier.bak<br />
psftp> get mon_fichier.dat<br />
en utilisant la commande Windows ren pour renommer l'ancien fichier en local sur votre PC.<br />
III. Utilisation de l'authentification par clé publique / clé privée avec PSFTP<br />
Comme PuTTY, PSFTP sait gérer l'authentification par clé publique / clé privée plutôt que<br />
par mot de passe. Vous pouvez faire cela de trois façons différentes :<br />
Premièrement, PSFTP sait utiliser les sessions sauvegardées de PuTTY en lieu et place de<br />
noms de machines. Vous pourriez donc faire ceci :<br />
• Lancez PuTTY, et créez une session sauvegardée PuTTY ( cf. section 4.1.2 ) dans<br />
laquelle vous indiquez votre fichier de clé privée ( voir à ce sujet la section 4.20.7 ).<br />
Vous pouvez également y indiquer le nom d'utilisateur sous lequel vous voulez vous<br />
connecter à la machine distante ( cf. section 4.14.1 ).<br />
• Dans PSFTP, vous pouvez alors utiliser le nom de la session sauvegardée au lieu du<br />
nom de machine : tapez psftp nom_de_session, en remplaçant, bien entendu,<br />
58
Logiciel d’administration pour IPCOP 1.4.x<br />
nom_de_session par le nom du fichier dans lequel vous avez sauvegardé votre<br />
session PuTTY.<br />
Deuxièmement, vous pouvez indiquer le nom d'un fichier de clé privée en ligne de<br />
commande, avec l'option -i ( pour plus de détails à ce sujet, veuillez vous reporter à la<br />
section 3.8.3.18 ).<br />
Troisièmement, PSFTP essaie de s'authentifier en passant par Pageant si Pageant est lancé<br />
( pour plus de renseignements à ce sujet, voir le chapitre 9 ). Pour cela, procédez comme suit :<br />
• Assurez-vous que Pageant est lancé, et que votre clé privée est chargée dedans.<br />
• Indiquez à PSFTP un nom d'utilisateur et un nom de machine distante comme vous le<br />
feriez normalement ( mais pas de mot de passe ). PSFTP va détecter Pageant et<br />
essayer d'utiliser les clés qui y sont stockées.<br />
Pour plus d'informations au sujet de l'authentification par clé publique / clé privée, veuillez<br />
vous reporter au chapitre 8.<br />
59
Logiciel d’administration pour IPCOP 1.4.x<br />
Chapitre 7 : utilisation de l'outil Plink de connexion en ligne de<br />
commande<br />
Plink ( PuTTY Link ) est un outil de connexion en ligne de commande similaire à la<br />
commande Unix ssh. On l'utilise principalement pour des connexions automatisées, comme<br />
de permettre à CVS d'accéder ( de façon sécurisée ) à un référentiel situé sur une autre<br />
machine.<br />
Si vous souhaitez ouvrir une connexion interactive dans une fenêtre de console, Plink n'est<br />
probablement pas ce dont vous avez besoin.<br />
I. Lancement de Plink<br />
Plink est une application en ligne de commande. Vous ne pouvez donc pas lancer Plink en<br />
double-cliquant sur son icône. Au lieu de cela, il faut ouvrir une fenêtre de console. Sous<br />
Windows 95, 98, et ME, cela s'appelle Commandes MS-DOS, et sous Windows NT, 2000, et<br />
XP, c'est Invite de commandes. Selon la version de Windows que vous utilisez, vous<br />
trouverez cela soit directement dans Démarrer / Programmes, soit dans Démarrer /<br />
Programmes / Accessoires.<br />
Pour utiliser Plink, il faut que le répertoire contenant l'exécutable plink.exe soit listé dans<br />
votre variable d'environnement PATH, ou que ce soit le répertoire courant au moment où vous<br />
tapez la commande. Pour ajouter le répertoire de Plink dans votre variable PATH, tapez ceci<br />
dans la fenêtre de commandes :<br />
set PATH=C:\répertoire\qui\contient\putty;%PATH%<br />
Cela ne fonctionnera que jusqu'à que vous fermiez cette fenêtre de console. Pour que la<br />
modification de votre variable PATH soit permanente, sous Windows NT, 2000, et XP, allez<br />
dans l'onglet Avancé des propriétés du Poste de travail, ou de l'icône Système du panneau de<br />
configuration. Sous Windows 95, 98, et ME, il vous faudra modifier votre fichier<br />
AUTOEXEC.BAT pour y ajouter une commande set comme celle ci-dessus.<br />
II. Utilisation de Plink<br />
Voici une description des rudiments de l'utilisation de Plink pour les sessions interactives et<br />
les connexions automatisées.<br />
Une fois que vous avez une fenêtre de console dans laquelle entrer des commandes, vous<br />
pouvez taper juste plink, sans rien d'autre, pour afficher un message d'aide concise. Cela<br />
vous indique la version de Plink que vous utilisez, et vous donne un bref résumé des options<br />
disponibles :<br />
Z:\sysosd>plink<br />
PuTTY Link: command-line connection utility<br />
Release 0.60<br />
Usage: plink [options] [user@]host [command]<br />
("host" can also be a PuTTY saved session name)<br />
Options:<br />
-V print version information and exit<br />
60
Logiciel d’administration pour IPCOP 1.4.x<br />
-pgpfp print PGP key fingerprints and exit<br />
-v show verbose messages<br />
-load sessname Load settings from saved session<br />
-ssh -telnet -rlogin -raw<br />
force use of a particular protocol<br />
-P port connect to specified port<br />
-l user connect with specified username<br />
-batch disable all interactive prompts<br />
The following options only apply to SSH connections:<br />
-pw passw login with specified password<br />
-D [listen-IP:]listen-port<br />
Dynamic SOCKS-based port forwarding<br />
-L [listen-IP:]listen-port:host:port<br />
Forward local port to remote address<br />
-R [listen-IP:]listen-port:host:port<br />
Forward remote port to local address<br />
-X -x enable / disable X11 forwarding<br />
-A -a enable / disable agent forwarding<br />
-t -T enable / disable pty allocation<br />
-1 -2 force use of particular protocol version<br />
-4 -6 force use of IPv4 or IPv6<br />
-C enable compression<br />
-i key private key file for authentication<br />
-noagent disable use of Pageant<br />
-agent enable use of Pageant<br />
-m file read remote command(s) from file<br />
-s remote command is an SSH subsystem (SSH-2 only)<br />
-N don't start a shell/command (SSH-2 only)<br />
-nc host:port<br />
open tunnel in place of session (SSH-2 only)<br />
Une fois que ceci fonctionne, vous êtes prêt à utiliser Plink.<br />
II.1 Utilisation de Plink pour l'ouverture de sessions interactives<br />
Pour établir une simple connexion interactive sur une machine distante, tapez juste plink<br />
suivi du nom de la machine :<br />
Z:\sysosd>plink flunky.exemple.com<br />
Debian GNU/Linux 2.2 flunky.exemple.com<br />
flunky login:<br />
Vous devriez alors être en mesure de vous connecter et d'ouvrir une session comme en temps<br />
normal. Ce que renvoie la machine distante sera affiché tel quel dans la fenêtre de votre invite<br />
de commandes, qui n'interprétera probablement pas les codes de contrôle du terminal de la<br />
façon attendue par la machine distante. Ce qui fait que si vous utilisez des applications qui<br />
affichent en plein écran, par exemple, vous pouvez vous attendre à voir apparaître des<br />
caractères bizarres dans votre fenêtre. Les connexions en interactif comme cela ne sont pas le<br />
point fort de Plink.<br />
Pour vous connecter avec un autre protocole, vous pouvez utiliser les options en ligne de<br />
commande -ssh, -telnet, -rlogin ou encore -raw. Pour établir une connexion SSH, par<br />
exemple :<br />
Z:\sysosd>plink -ssh login.exemple.com<br />
login as:<br />
61
Logiciel d’administration pour IPCOP 1.4.x<br />
Si vous avez déjà configuré une session sauvegardée PuTTY, alors au lieu d'indiquer un nom<br />
de machine, vous pouvez mettre le nom de la session sauvegardée. Ceci vous permet d'utiliser<br />
de l'authentification par clé publique, d'indiquer un nom d'utilisateur, et d'utiliser la plupart<br />
des autres fonctionnalités de PuTTY :<br />
Z:\sysosd>plink ma-session-ssh<br />
Sent username "fred"<br />
Authenticating with public key "fred@winbox"<br />
Last login: Thu Dec 6 19:25:33 2001 from :0.0<br />
fred@flunky:~$<br />
Vous pouvez également utiliser l'option de ligne de commande -load pour charger une<br />
session sauvegardée ( voir à ce sujet la section 3.8.3.1 ). Si vous utilisez -load, que la session<br />
sauvegardée existe et qu'elle comporte l'indication d'un nom de machine distante, alors vous<br />
ne pouvez pas indiquer en plus un nom de machine, précédé ou non d'un nom d'utilisateur :<br />
il(s) serai(en)t interprétés comme faisant partie de la commande destinée à la machine<br />
distante.<br />
II.2Utilisation de Plink pour l'établissement de connexions<br />
automatisées<br />
En général, Plink est utilisé avec le protocole SSH, pour vous permettre de « parler »<br />
directement à un programme s'exécutant sur la machine distante. Pour cela, vous devez vous<br />
assurer que Plink utilise bien le protocole SSH, ce que vous pouvez faire de différentes<br />
façons :<br />
• vous pouvez utiliser l'option en ligne de commande -ssh, décrite dans la section 7.2.1.<br />
• vous pouvez configurer une session sauvegardée PuTTY qui indique à la fois la<br />
machine à laquelle vous voulez vous connecter et le protocole à utiliser ( SSH ).<br />
• vous pouvez donner à la variable d'environnement Windows PLINK_PROTOCOL la<br />
valeur ssh.<br />
Il est rare que Plink soit lancé directement par l'utilisateur. Il est le plus souvent lancé<br />
automatiquement, par un autre processus. C'est la raison pour laquelle on ne souhaite<br />
généralement pas que Plink demande de taper un nom d'utilisateur ou un mot de passe.<br />
Vous pouvez également souhaiter éviter l'apparition à l'écran des diverses invites interactives<br />
que Plink est susceptible d'afficher. En l'occurrence, Plink peut être amené à vous demander<br />
de vérifier et d'approuver la clé d'hôte de la machine à laquelle vous vous connectez, ou<br />
d'entrer un nom d'utilisateur, ou un mot de passe.<br />
Pour éviter qu'on vous demande de vérifier et d'approuver la clé d'hôte d'une machine distante<br />
lorsque vous utilisez Plink pour vous y connecter de façon automatique, connectez-vous à<br />
cette même machine une première fois en manuel ( avec PuTTY ou Plink, au choix ), vérifiez<br />
la clé d'hôte ( voir à ce sujet la section 2.2 ), et tapez Yes pour ajouter la clé d'hôte dans la<br />
base de registres. Une fois que c'est fait, les commandes Plink destinées à cette même<br />
machine ne devraient pas provoquer l'apparition de cette demande de confirmation, à moins,<br />
bien sûr, que la clé d'hôte de la machine distante ne change.<br />
Pour éviter qu'on vous demande un nom d'utilisateur, vous pouvez :<br />
• utiliser l'option -l pour indiquer un nom d'utilisateur en ligne de commande<br />
( exemple : plink login.exemple.com -l fred ).<br />
62
Logiciel d’administration pour IPCOP 1.4.x<br />
• configurer une session sauvegardée PuTTY dans laquelle figurent les caractéristiques<br />
de la machine à laquelle vous vous connectez, et qui indique également le nom<br />
d'utilisateur que vous souhaitez utiliser ( pour plus d'informations à ce sujet, veuillez<br />
vous reporter à la section 4.14.1 ).<br />
Pour éviter qu'on vous demande un mot de passe, le mieux à faire est certainement de mettre<br />
en place une authentification par clé publique ( pour une introduction générale à<br />
l'authentification par clé publique, veuillez vous reporter au chapitre 8 ). Là aussi, vous<br />
pouvez vous y prendre de deux façons différentes :<br />
• soit vous configurez une session sauvegardée PuTTY dans laquelle sont indiqués le<br />
nom de la machine à laquelle vous vous connectez et votre fichier de clé privée ( voir<br />
à ce sujet la section 4.20.7 ), mais pour que cela fonctionne sans qu'on vous demande<br />
quoi que ce soit, il faut que votre clé privée n'ait pas de phrase de passe ( [NdT] ce qui<br />
n'est pas une bonne chose, point de vue sécurité ).<br />
• soit vous stockez la clé privée dans Pageant ( [NdT] auquel cas vous n'avez plus<br />
besoin de taper votre phrase de passe qu'une seule fois, au début de votre session<br />
Windows, ce qui est certainement le meilleur compromis entre sécurité et confort<br />
d'utilisation ) ( voir le chapitre 9 pour plus d'informations à ce sujet ).<br />
Une fois que vous avez fait tout cela, vous devriez être en mesure de lancer une commande à<br />
distance sur la machine serveur SSH, qui l'exécutera alors automatiquement, sans rien<br />
demander :<br />
Z:\sysosd>plink login.exemple.com -l fred echo Bonjour, le monde !<br />
Bonjour, le monde !<br />
Z:\sysosd><br />
Ou alors, si vous avez sauvegardé une session, avec tous les détails enregistrés dedans :<br />
Z:\sysosd>plink ma_session echo Bonjour, le monde !<br />
Bonjour, le monde !<br />
Z:\sysosd><br />
Vous pouvez alors configurer d'autres programmes pour qu'ils utilisent cette commande Plink<br />
et qu'ils s'adressent à Plink comme s'ils s'adressaient à un processus tournant sur la machine<br />
distante.<br />
II.3 Options en ligne de commande de Plink<br />
Plink reconnaît toutes les options en ligne de commande communes à tous les outils PuTTY.<br />
Veuillez vous reporter à la section 3.8.3 pour une description de ces options.<br />
Plink supporte également certaines options en ligne de commande qui lui sont spécifiques, et<br />
qui sont décrites dans les sections ci-dessous :<br />
63
Logiciel d’administration pour IPCOP 1.4.x<br />
II.3.1 -batch : désactiver toutes les invites interactives<br />
Si vous ajoutez l'option -batch, Plink n'affichera jamais d'invite interactive pendant<br />
l'établissement de la connexion. Si la clé d'hôte de la machine distante est invalide, par<br />
exemple ( voir à sujet la section 2.2 ), alors la connexion sera simplement abandonnée, sans<br />
qu'il vous soit demandé ce qu'il y a lieu de faire.<br />
Cela peut s'avérer commode lorsque Plink est utilisé dans des scripts batch : grâce à l'option -<br />
batch, si quelque chose ne va pas comme cela devrait, au moment de la connexion, le script<br />
batch se termine avec une erreur plutôt que de rester bloqué.<br />
SSH<br />
II.3.2 -s : pour lancer une commande à distante dans un sous-système<br />
Si vous ajoutez l'option -s, Plink transmet à la machine distante la commande indiquée après<br />
le -s comme étant le nom d'un 'sous-système' SSH et non une ligne de commande ordinaire.<br />
Cette option n'a de sens qu'avec le protocole SSH-2.<br />
III. Utilisation de Plink dans des fichiers batchs et dans des scripts<br />
Une fois que vous avez configuré Plink pour qu'il soit capable de se connecter à une machine<br />
sans vous poser de questions, et sans attendre de réponses de votre part ( voir à ce sujet la<br />
section 7.2.2 ), vous pouvez vous en servir pour tout un tas de scripts. Par exemple, pour<br />
lancer une sauvegarde sur une machine distante, vous pourriez utiliser une commande comme<br />
celle-ci :<br />
plink root@mon_serveur /etc/sauvegardes/lancer-sauvegarde.sh<br />
Vous pourriez aussi vouloir récupérer toutes les lignes, dans un fichier de log système, qui se<br />
rapportent à un sujet particulier :<br />
plink ma_session grep /~fred/ /var/log/httpd/access.log > fredlog<br />
En fait, toute commande non interactive, que vous pouvez lancer en ligne de commande sur la<br />
machine distante, peut faire l'objet d'un script lancé avec Plink de cette manière.<br />
IV. Utilisation de Plink avec CVS<br />
Pour utilisez Plink avec CVS, vous devez donner à la variable d'environnement CVS_RSH le<br />
chemin complet d'accès à Plink :<br />
set CVS_RSH=\chemin\de\plink\plink.exe<br />
Vous devez aussi faire le nécessaire pour pouvoir vous connecter à une machine distante ( le<br />
serveur CVS, en l'occurrence ) de façon entièrement automatisée, comme cela est décrit dans<br />
la section 7.2.2.<br />
64
Logiciel d’administration pour IPCOP 1.4.x<br />
Vous devriez alors être en mesure de lancer CVS comme ceci :<br />
cvs -d :ext:nom_utilisateur@nom_session:/emplacement/du/référentiel co<br />
module<br />
Et si vous avez indiqué un nom d'utilisateur dans votre session sauvegardée, vous n'avez<br />
même pas besoin d'en mettre un après :ext:, ni de mettre d'arobace, et vous pouvez juste<br />
taper :<br />
cvs -d :ext:nom_session:/emplacement/du/référentiel co module<br />
V Utilisation de Plink avec WinCVS<br />
Plink peut également être utilisé avec WinCVS. Tout d'abord, faites le nécessaire pour que<br />
Plink puisse se connecter à une machine distante de façon non interactive, comme cela est<br />
décrit dans la section 7.2.2. Une fois que c'est fait, dans WinCVS, allez dans la boîte de<br />
dialogue Preferences, que vous trouverez dans le menu Admin, et allez dans l'onglet Ports.<br />
Cochez la case Check for an alternate rsh name. Dans la zone de saisie de texte à droite,<br />
saisissez le chemin complet pour accéder à plink.exe, et faites OK pour refermer la boîte de<br />
dialogue 'Preferences'.<br />
Ensuite, choisissez Command Line dans le menu Admin de WinCVS, et tapez une<br />
commande CVS comme dans la section 7.4. Exemple :<br />
cvs -d :ext:nom_utilisateur@nom_machine:/chemin/pour/accéder/au/référentiel<br />
co nom_module<br />
ou alors, si vous utilisez une session sauvegardée :<br />
cvs -d :ext:nom_utilisateur@nom_session:/chemin/pour/accéder/au/référentiel<br />
co nom_module<br />
Sélectionnez le dossier dans lequel vous souhaitez placer votre copie de travail, grâce au<br />
bouton Change Folder, et cliquez sur OK pour emprunter votre module. Une fois que vos<br />
modules sont empruntés, WinCVS fera appel à plink pour réaliser vos opérations CVS<br />
depuis l'interface graphique.<br />
65
Logiciel d’administration pour IPCOP 1.4.x<br />
Chapitre 8 : utilisation de clés publiques pour l'authentification<br />
SSH<br />
I. Introduction à l'authentification par clé publique<br />
L'authentification par clé publique est une autre façon de vous identifier auprès d'une machine<br />
distante, qui ne demande pas de taper un mot de passe. C'est une méthode sûre, plus souple<br />
que l'authentification par mot de passe, mais aussi plus difficile à mettre en place.<br />
Dans le cas de l'authentification classique par mot de passe, vous prouvez que vous êtes bien<br />
qui vous prétendez être en montrant que vous connaissez le bon mot de passe. La seule façon<br />
de montrer que vous connaissez ce mot de passe est d'indiquer à la machine distante le mot de<br />
passe que vous pensez être le bon. En conséquence, si la machine distante a été piratée, ou si<br />
son adresse IP a été usurpée ( voir à ce sujet la section 2.2 ), le pirate peut découvrir votre mot<br />
de passe à cette occasion.<br />
L'authentification par clé publique résoud ce problème. Vous générez une paire de clés,<br />
composée d'une clé publique ( que tout le monde a le droit de connaître ) et d'une clé privée<br />
( que vous devez garder secrète, et ne communiquer à personne ). La clé privée permet de<br />
générer des signatures. Une signature créée à l'aide de votre clé privée ne peut pas être<br />
falsifiée sans disposer de cette même clé. En revanche, quiconque a connaissance de votre clé<br />
publique peut vérifier si une signature qui est censée être la vôtre est effectivement<br />
authentique, ou non.<br />
Vous générez donc une paire de clés sur votre propre ordinateur, puis vous vous connectez à<br />
la machine distante ( en vous authentifiant par mot de passe ), le temps d'y copier votre clé<br />
publique. Une fois que c'est fait, vous pouvez vous déconnecter. La fois d'après, lorsque la<br />
machine distante vous demande de prouver qui vous êtes, PuTTY génère une signature à<br />
l'aide de votre clé privée. La machine distante peut vérifier l'authenticité de cette signature<br />
grâce à votre clé publique, que vous venez d'y copier, et vous permettre d'ouvrir une session.<br />
Et si jamais la machine distante a été piratée, ou si son adresse a été usurpée, le pirate<br />
n'obtient pas pour autant votre clé privée, ni votre mot de passe. Tout ce qu'il obtient, c'est une<br />
signature. Et comme les signatures sont à usage unique, au final, il n'a rien gagné dans<br />
l'affaire.<br />
Cela ne va pas sans poser problème : si jamais votre clé privée est rangée dans votre<br />
ordinateur sans protection particulière, alors quiconque qui parvient à y accéder se retrouve en<br />
mesure de générer des signatures à votre place, et donc de se faire passer pour vous. C'est<br />
pourquoi votre clé privée est généralement chiffrée lorsqu'elle est stockée sur votre machine<br />
locale, à l'aide d'une phrase de passe de votre choix. Pour pouvoir générer une signature,<br />
PuTTY doit alors déchiffrer la clé, et pour cela, vous devez taper votre phrase de passe.<br />
Cela peut rendre l'authentification par clé publique moins commode que l'authentification par<br />
mot de passe : chaque fois que vous vous connectez à une machine distante, au lieu de taper<br />
un mot de passe relativement court, vous êtes obligé de taper une phrase de passe plutôt<br />
longue. Une solution à cela consiste à utiliser un agent d'authentification, c'est à dire un<br />
programme séparé dont le rôle consiste à conserver les clés privées sous forme non chiffrée,<br />
et à générer des signatures à la demande. L'agent d'authentification de PuTTY s'appelle<br />
Pageant. Lorsque vous ouvrez une session Windows, il vous suffit de lancer Pageant et d'y<br />
charger votre clé privée ( votre phrase de passe vous sera bien entendu demandée, mais vous<br />
n'aurez besoin de la taper qu'une seule fois ). Et pendant tout le reste de votre session<br />
Windows, vous pouvez lancer PuTTY autant de fois que vous voulez, et vous connecter à<br />
autant de machines que vous le souhtaiez, Pageant génèrera automatiquement les signatures<br />
66
Logiciel d’administration pour IPCOP 1.4.x<br />
requises, sans que vous n'ayez à vous soucier de quoi que ce soit. Lorsque vous fermerez<br />
votre session Windows, Pageant s'arrêtera, sans jamais avoir écrit votre clé privée en clair sur<br />
le disque dur. De nombreuses personnes estiment que c'est là un bon compromis entre la<br />
sécurité et la facilité d'utilisation ( veuillez vous reporter au chapitre 9 pour plus de détails à<br />
ce sujet ).<br />
Il existe plusieurs algorithmes d'authentification par clé publique. Le plus courant est RSA,<br />
mais il en existe d'autres, notamment DSA ( également connu sous le nom DSS, qui veut dire<br />
Digital Signature Standard, et qui est le standard de signature numérique du gouvernement<br />
fédéral américain ). Les types de clés reconnus par PuTTY sont décrits dans la section 8.2.2.<br />
II. Utilisation de PuTTYgen, le générateur de clés de PuTTY<br />
PuTTYgen est un générateur de clés. Il génère des paires de clés publiques et privées<br />
destinées à être utilisées avec PuTTY, PSCP, et Plink, ainsi qu'avec Pageant, l'agent<br />
d'authentification de PuTTY ( voir chapitre 9 ). PuTTYgen génère des clés RSA et DSA.<br />
Lorsque vous lancez PuTTYgen, vous obtenez une fenêtre où vous avez le choix entre<br />
'Generate' ( générer une nouvelle paire de clés ), ou 'Load' pour charger une clé privée<br />
existante.<br />
II.1 Génération d'une nouvelle clé<br />
Voici un aperçu rapide de la marche à suivre pour générer une nouvelle paire de clés. Les<br />
sections qui suivent décrivent le processus plus en détail.<br />
67
Logiciel d’administration pour IPCOP 1.4.x<br />
• D'abord, vous devez choisir quel type de clé vous souhaitez générer, ainsi que la<br />
longueur de la clé, qui déterminera sa « solidité ». Cela est décrit en détail dans la<br />
section 8.2.2 et dans la section 8.2.3.<br />
• Ensuite, cliquez sur le bouton 'Generate', pour lancer effectivement le processus de<br />
génération de la clé. La section 8.2.4 traite de cette étape.<br />
• Une fois que vous avez généré la clé, indiquez un commentaire ( cf. section 8.2.6 ) et<br />
une phrase de passe ( cf. section 8.2.7 ).<br />
• Vous êtes maintenant prêt à sauvegarder la clé privée sur disque. Cliquez sur le bouton<br />
'Save private key' ( voir à sujet la section 8.2.8 ).<br />
Votre paire de clés est maintenant prête à l'usage. Vous pouvez, si vous le souhaitez, copier<br />
votre clé publique sur les machines auxquelles vous voudrez vous connecter, soit en faisant un<br />
copier/coller du champ 'Public key for pasting into OpenSSH authorized_keys file' ( voir à<br />
ce sujet la section 8.2.10 ), soit en cliquant sur le bouton 'Save public key' ( cf. section 8.2.9 ).<br />
Cela dit, vous n'êtes pas obligé de faire cela tout-de-suite-maintenant-immédiatement-sur-lechamp.<br />
Vous pouvez aussi recharger la clé privée dans PuTTYgen, plus tard ( voir à ce sujet<br />
la section 8.2.11 ), et cela vous redonnera accès à la clé publique, que vous pourrez alors<br />
copier/coller ou sauvegarder à votre guise.<br />
La section 8.3 décrit la marche à suivre typique pour configurer PuTTY de façon à qu'il utilise<br />
l'authentification par clé publique, et pour configurer votre serveur SSH de façon à ce qu'il<br />
accepte ce mode d'authentification.<br />
II.2 Choix du type de clé<br />
Avant de générer une paire de clés à l'aide de PuTTYgen, vous devez choisir un type de clé.<br />
PuTTYgen reconnaît actuellement trois types de clés :<br />
• les clés RSA à utiliser avec le protocole SSH-1.<br />
• les clés RSA à utiliser avec le protocole SSH-2.<br />
• les clés DSA à utiliser avec le protocole SSH-2.<br />
Le protocole SSH-1 n'accepte que les clés RSA. Si vous devez vous utiliser le protocole SSH-<br />
1, alors il faut choisir le premier type de clé, faute de quoi votre clé ne vous servira<br />
absolumement à rien.<br />
Le protocole SSH-2, lui, reconnaît plusieurs types de clés. Les deux types reconnus par<br />
PuTTY sont RSA et DSA.<br />
Les développeurs de PuTTY vous conseillent fortement d'utiliser RSA. DSA a une faiblesse<br />
intrinsèque qui rend très facile la création d'une signature contenant suffisamment<br />
d'information pour révéler la clé privée ! Ceci permettrait à un pirate de se faire passer pour<br />
vous pour un nombre quelconque de sessions ultérieures. Lors de l'implémentation de PuTTY,<br />
beaucoup de précautions ont été prises pour éviter ce défaut, mais nous ne pouvons pas être<br />
certains à 100% d'avoir réussi, donc si vous avez le choix, nous vous recommandons vraiment<br />
d'utiliser les clés RSA à la place.<br />
Si vous avez vraiment besoin de vous connecter à un serveur SSH qui ne reconnaît que les<br />
clés DSA, alors vous n'avez pas tellement le choix, mais dans ce cas, nous vous conseillons de<br />
ne pas utiliser la même clé pour vous authentifier auprès de plusieurs machines différentes.<br />
68
Logiciel d’administration pour IPCOP 1.4.x<br />
II.3 Choix de la taille ( et donc de la solidité ) de la clé<br />
Le champ 'Number of bits in a generated key' vous permet de choisir le nombre de bits de la<br />
clé que PuTTYgen va générer, autrement dit sa solidité .<br />
Actuellement, 1024 bits devraient suffire pour la plupart des usages.<br />
Veuillez noter qu'une clé RSA est générée en cherchant deux nombres premiers qui font<br />
chacun la moitié de la longueur demandée, et en les multipliant l'un avec l'autre. Par exemple,<br />
si vous demandez à PuTTYgen une clé RSA de 1024 bits, il va prendre deux nombres<br />
premiers de 512 bits chacun et les multiplier ensemble. Le résultat de cette multiplication peut<br />
faire 1024 bits de long, mais il peut aussi n'en faire que 1023. Il se peut donc que vous<br />
n'obteniez pas exactement la longueur de clé que vous avez demandée. C'est parfaitement<br />
normal, et il n'y a pas lieu de s'en inquiéter. Il n'y a normalement pas plus d'un bit de<br />
différence entre la longueur demandée et la longueur obtenue, et cela n'engendre pas de baisse<br />
sensible du niveau de sécurité.<br />
Les clés DSA, en revanche, ne sont pas créées en multipliant ensemble des nombres premiers.<br />
Elles doivent donc toujours avoir la longueur que vous avez demandée, sinon c'est qu'il y a un<br />
problème.<br />
II.4 Le bouton 'Generate'<br />
Une fois que vous avez choisi un type de clé et une longueur en bits, cliquez sur le bouton<br />
'Generate' et PuTTYgen commencera effectivement à générer la clé.<br />
69
Logiciel d’administration pour IPCOP 1.4.x<br />
Une barre de progression apparaîtra et PuTTYgen vous demandera de déplacer votre souris un<br />
peu n'importe comment, pour produire quelque chose d'aléatoire. Faites des ronds ou des<br />
zigzags avec la souris au dessus de la zone vide de la fenêtre de PuTTYgen, et la barre de<br />
progression va petit à petit se remplir, à mesure que PuTTYgen reçoit ces informations<br />
aléatoires que sont les différentes positions successives de la souris manipulée au hasard.<br />
Vous n'avez pas besoin de faire décrire à votre souris des motifs particulièrement originaux<br />
( bien que cela ne puisse pas nuire ). En effet, il n'est pas possible de faire décrire à la souris<br />
plusieurs fois de suite exactement la même trajectoire, au pixel près, quand on la bouge à la<br />
main, et cela suffit à PuTTYgen comme informations aléatoires.<br />
Une fois que la barre de progression arrive à son terme, PuTTYgen commence à créer la clé<br />
pour de bon. La barre de progression repart du début, et elle se remplit une deuxième fois<br />
pour indiquer l'état du processus de fabrication de la clé. Ce deuxième « remplissage » peut<br />
fort bien ne pas être régulier, et peut même marquer des temps d'arrêt par moments. C'est<br />
quelque chose d'inévitable, malheureusement, parce que la génération d'une clé est un<br />
processus aléatoire, et il n'est pas possible de prédire de façon fiable combien de temps il va<br />
prendre.<br />
Une fois que la génération de la clé est finie, de nouveaux champs et de nouveaux boutons<br />
apparaissent dans la fenêtre de PuTTYgen, à la place de la zone où il fallait agiter la souris un<br />
peu dans tous les sens.<br />
II.5 La ligne 'Key fingerprint' ( empreinte de la clé )<br />
La ligne 'Key fingerprint' vous présente une empreinte de la clé générée. Cette empreinte est<br />
obtenue par un procédé cryptographique à partir de la valeur de la clé publique, et n'a donc<br />
pas besoin d'être gardée secrète.<br />
70
Logiciel d’administration pour IPCOP 1.4.x<br />
La valeur de l'empreinte est censée être sûre d'un point de vue cryptographique, en ce sens<br />
qu'il n'est pas possible de fabriquer une autre clé qui ait la même empreinte, ni de trouver une<br />
clé à partir de son empreinte. C'est pourquoi certains utilitaires, tels que Pageant, dans sa liste<br />
des clés ( voir section 9.2.1 ), et l'utilitaire Unix ssh-add, affichent la liste des empreintes de<br />
clés plutôt que les clés publiques dans leur intégralité.<br />
II.6 Choix d'un commentaire pour votre clé<br />
Si vous avez plus d'une clé et que vous les utilisez pour des besoins différents, il n'est<br />
heureusement pas nécessaire que vous appreniez par cœur les empreintes des clés pour<br />
pouvoir les différencier les unes des autres. PuTTYgen vous permet d'associer un<br />
commentaire à votre clé, qui sera affiché à chaque fois que PuTTY ou Pageant vous<br />
demandera la phrase de passe correspondante.<br />
Si vous n'indiquez pas de commentaire, le commentaire par défaut contient le type de la clé et<br />
la date à laquelle elle a été générée, comme par exemple rsa-key-20011212. Une autre façon<br />
de faire relativement courante consiste à mettre comme commentaire votre nom d'utilisateur<br />
et le nom de la machine à laquelle vous allez vous connecter avec cette clé, comme par<br />
exemple simon@pc-de-simon.<br />
Pour modifier le commentaire associé à la clé juste après l'avoir générée, il vous suffit de<br />
taper ce que vous voulez dans le champ 'Key comment' avant de sauvegarder la clé privée. Et<br />
si vous voulez le modifier après coup, vous n'avez qu'à recharger la clé privée dans<br />
PuTTYgen, modifier le commentaire, et sauvegarder le tout à nouveau.<br />
II.7 Choix d'une phrase de passe pour votre clé<br />
Les champs 'Key passphrase' et 'Confirm passphrase' vous permettent de choisir une phrase<br />
de passe à associer à votre clé, et de la confirmer. La phrase de passe servira à crypter votre<br />
clé avant de l'écrire sur le disque, si bien que vous ne pourrez pas l'utiliser sans montrer patte<br />
blanche.<br />
Lorsque vous sauvegardez la clé, PuTTYgen vérifie que les deux champs 'Key passphrase' et<br />
'Confirm passphrase' contiennent bel et bien la même chose, exactement, et refuse de<br />
sauvegarder la clé dans le cas contraire.<br />
Si vous laissez ces deux champs vides, la clé sera stockée en clair sur le disque. Il ne faut pas<br />
faire cela sans une bonne raison. Si vous le faites, votre fichier de clé privée est tout ce dont<br />
un pirate a besoin pour accéder - en se faisant passer pour vous - à toute machine qui accepte<br />
cette clé comme moyen d'authentification. Si vous voulez pouvoir ouvrir une session sans mot<br />
de passe, et sans avoir à taper une phrase de passe à chaque fois, alors Pageant ( chapitre 9 )<br />
est probablement ce dont vous avez besoin. Avec Pageant, votre clé n'est présente qu'en<br />
mémoire vive, et non sur le disque, sous sa forme non cryptée.<br />
Il y a des cas particuliers dans lesquels vous pouvez effectivement avoir besoin d'utiliser une<br />
clé sans phrase de passe associée. Par exemple, si vous devez lancer un script pour<br />
automatiser une tâche qui a besoin d'établir une connexion SSH, vous ne pourrez pas être là à<br />
chaque fois pour taper la phrase de passe. Dans ce cas, nous vous conseillons de générer une<br />
clé spécifique, que vous utiliserez pour ce script-là, et uniquement pour ce script-là. Au<br />
niveau de la machine distante, à laquelle ce script a besoin de se connecter par SSH, vous<br />
71
Logiciel d’administration pour IPCOP 1.4.x<br />
devriez faire en sorte que chaque clé ne puisse être utilisée que pour ce à quoi elle est<br />
spécifiquement destinée. Vous devriez normalement trouver des explications sur la façon de<br />
faire cela dans la documentation du serveur SSH utilisé sur la machine distante ( cela peut<br />
varier d'un serveur à l'autre ).<br />
Choisir une bonne phrase de passe est quelque chose de difficile. De la même manière qu'il ne<br />
faut pas utiliser un mot du dictionnaire comme mot de passe ( parce qu'il est facile et rapide<br />
pour un pirate de passer en revue tous les mots du dictionnaire ), il ne faut pas non plus<br />
prendre des paroles de chansons, une citation de quelqu'un de célèbre, ou une phrase connue,<br />
quelle qu'elle soit, comme phrase de passe.<br />
Le site DiceWare ( www.diceware.com ) conseille d'utiliser au moins cinq mots, chacun<br />
choisi au hasard en lançant un dé (1) , ce qui donne 2 puissance 64 phrases de passe possibles<br />
( soit un peu plus de dix-huit milliards de milliards ), et ce n'est sans doute pas une mauvaise<br />
façon de faire. Si vous voulez que votre phrase de passe ait un sens, grammaticalement<br />
parlant, cela réduit sensiblement l'éventail des possibilités, et il vous faudra sans doute alors<br />
utiliser une phrase de passe qui fasse plus de cinq mots.<br />
(1) un dé à jouer, en anglais, se dit dice ( ou die ), d'où le nom du site DiceWare.<br />
72
Logiciel d’administration pour IPCOP 1.4.x<br />
II.8 Sauvegarde de votre clé privée dans un fichier sur disque<br />
Une fois que vous avez généré votre clé, que vous lui avez mis un commentaire et une phrase<br />
de passe, vous êtes prêt à sauvegarder votre clé privée sur disque.<br />
Cliquez sur le bouton 'Save private key'. PuTTYgen affiche alors une boîte de dialogue pour<br />
vous demander où il doit sauvegarder la clé. Choisissez un répertoire, entrez un nom de<br />
fichier, et appuyez sur 'Save'.<br />
Ce fichier est dans le format natif de PuTTY ( *.PPK ). C'est ce fichier dont vous aurez besoin<br />
pour vous authentifier avec PuTTY ( voir à ce sujet la section 4.20.7 ) ou que vous<br />
demanderez à Pageant de charger en mémoire ( cf. section 9.2.2 ).<br />
II.9 Sauvegarde de votre clé publique dans un fichier sur disque<br />
La RFC 4716 spécifie un format standard pour enregistrer les clés publiques SSH-2 sur<br />
disque. Certains serveurs SSH ( comme celui de ssh.com ) imposent d'utiliser une clé<br />
publique écrite dans ce format avant pour accepter l'authentification avec la clé privé<br />
correspondante. Certains autres, comme OpenSSH, utilisent un format différent ( voir à ce<br />
sujet la section 8.2.10 ).<br />
Pour sauvegarder votre clé publique au format standard SSH-2, cliquez sur le bouton 'Save<br />
public key' de PuTTYgen, qui affiche alors une boîte de dialogue vous demandant où il doit<br />
écrire le fichier. Choisissez un répertoire, entrez un nom de fichier, et cliquez sur 'Save'.<br />
Une fois que c'est fait, vous voudrez sans doute copier le fichier contenant votre clé publique<br />
sur la (ou les) machine(s) distante(s) auxquelles vous avez besoin de vous connecter. Veuillez<br />
vous reporter à la section 8.3 pour des explications générales sur la marche à suivre pour<br />
utiliser l'authentification par clé publique une fois que vous vous êtes généré une clé.<br />
Si vous utilisez cette option avec une clé SSH-1, le fichier écrit par PuTTYgen contiendra<br />
exactement le texte affiché dans le champ 'Public key for pasting into OpenSSH<br />
authorized_keys file'. C'est le seul standard qui existe pour les clés publiques SSH-1.<br />
II.10 Champ 'Public key for pasting into OpenSSH authorized_keys<br />
file' ( clé publique à copier/coller dans le fichier authorized_keys<br />
de OpenSSH )<br />
Tous les serveurs SSH-1 exigent que votre clé publique leur soit transmise sur une seule ligne<br />
( sans retours à la ligne, donc ) avant qu'ils n'acceptent de vous authentifier avec votre clé<br />
privée. Le serveur OpenSSH exige également cela pour SSH-2.<br />
Le champ 'Public key for pasting into OpenSSH authorized_keys file' fournit la clé<br />
publique dans le format correct, sur une seule ligne. Ce que l'on fait généralement, c'est qu'on<br />
sélectionne la totalité du contenu de ce champ avec la souris, qu'on fait Ctrl-C pour le copier<br />
dans le presse-papiers, puis qu'on le colle dans une session PuTTY déjà connectée à la<br />
machine distante.<br />
73
Logiciel d’administration pour IPCOP 1.4.x<br />
Veuillez vous reporter à la section 8.3 pour connaître la marche à suivre pour mettre en place<br />
une authentification par clé publique une fois que vous avez généré une clé.<br />
II.11 Rechargement d'une clé privée<br />
PuTTYgen vous permet de charger en mémoire une clé privée déja existante. Si vous faites<br />
cela, vous pouvez alors changer la phrase de passe et le commentaire avant de la sauvegarder<br />
à nouveau. Vous pouvez aussi faire des copies supplémentaires de la clé publique.<br />
Pour charger en mémoire une clé déjà existante, cliquez sur le bouton 'Load'. PuTTYgen<br />
affiche une boîte de dialogue de recherche de fichier pour vous permettre de vous déplacer<br />
parmi les répertoires et de sélectionner le fichier de la clé à ouvrir. Une fois que c'est fait,<br />
PuTTYgen vous demande la phrase de passe ( s'il y en a une ) puis affiche la clé de la même<br />
façon que s'il venait juste de la générer.<br />
Si vous utilisez le bouton 'Load' pour charger une clé d'un format autre que celui de PuTTY,<br />
cela fonctionnera, mais une boîte de message s'affichera pour vous avertir que la clé que vous<br />
avez chargée n'est pas au format natif des clés PuTTY ( veuillez vous reporter à la<br />
section 8.2.12, ci-dessous, pour savoir comment importer des clés d'autres formats ).<br />
II.12 Utilisation de clés privées de formats différents<br />
La plupart des clients SSH-1 utilisent un format standard pour écrire les clés privées sur le<br />
disque. PuTTY utilise lui aussi ce format, ce qui fait que si vous avez généré une clé privée<br />
SSH-1 à l'aide d'OpenSSH ou du client ssh.com, vous pouvez l'utiliser avec PuTTY, et vice<br />
versa.<br />
Il n'existe en revanche pas de format standard pour les clés privées SSH-2. OpenSSH,<br />
ssh.com et PuTTY utilisent tous trois des formats différents. Une clé générée avec l'un de ces<br />
clients ne peut donc pas être immédiatement utilisée avec un autre.<br />
Grâce à la commande 'Import' du menu 'Conversions', PuTTYgen peut charger en mémoire<br />
des clés privées SSH-2 aux formats OpenSSH et ssh.com. Une fois que vous avez chargé en<br />
mémoire une clé de l'un de ces types, vous pouvez la sauvegarder à nouveau sur le disque,<br />
dans le format de clé de PuTTY ( *.PPK ), de façon à pouvoir l'utiliser après coup avec<br />
PuTTY et les outils associés. La phrase de passe ne sera pas modifiée par le processus de<br />
conversion ( à moins bien sûr que vous ne décidiez d'en changer à cette occasion ). Vous<br />
pouvez également profiter de l'occasion pour modifier le commentaire associé à la clé avant<br />
de la re-sauvegarder, étant donné que le format de clé SSH-2 de OpenSSH ne comporte pas de<br />
place réservée pour associer un commentaire à la clé, et que le format de commentaire de<br />
ssh.com est au contraire long et bavard.<br />
PuTTYgen peut également exporter les clés privées au format OpenSSH et au format<br />
ssh.com. Pour cela, choisissez l'une des options 'Export' du menu 'Conversions'. L'export<br />
d'une clé se passe exactement de la même manière que la sauvegarde d'une clé ( voir à ce sujet<br />
la section 8.2.8 ), en ce sens qu'il vous faudra avoir tapé votre phrase de passe auparavant, et<br />
que vous serez averti si vous vous apprêtez à sauvegarder une clé sans lui associer de phrase<br />
de passe.<br />
74
Logiciel d’administration pour IPCOP 1.4.x<br />
Vous remarquerez que les commandes d'export du menu 'Conversions' ne sont pas<br />
accessibles quand vous travaillez avec une clé SSH-1. C'est normal puisque le format de clé<br />
SSH-1 est standardisé, et qu'il n'existe différents formats de clé que pour les clés SSH-2.<br />
III. Se préparer à l'authentification par clé publique<br />
Connectez-vous à la machine distante avec PuTTY, en utilisant le protocole SSH. Lorsque la<br />
connexion est établie, il vous faudra entrer un nom d'utilisateur et un mot de passe pour ouvrir<br />
la session. Une fois que ce sera fait, il vous faudra configurer le logiciel serveur SSH pour<br />
qu'il accepte votre clé publique et qu'il s'en serve pour vous authentifier les fois suivantes :<br />
• Si le logiciel serveur SSH de la machine distante utilise le protocole SSH-1, allez dans<br />
le répertoire .ssh et ouvrez le fichier authorized_keys avec votre éditeur favori ( il<br />
se peut que vous deviez le créer de toutes pièces si c'est la première fois que vous avez<br />
une clé à mettre dedans ). Puis passez dans la fenêtre de PuTTYgen, sélectionnez tout<br />
le contenu du champ 'Public key for pasting into OpenSSH authorized_keys file'<br />
( cf. section 8.2.10 ), et copiez-le dans le presse-papiers ( Ctrl-C ). Revenez dans la<br />
fenêtre PuTTY et insérez le contenu du fichier dans le fichier authorized_keys, en<br />
vous assurant qu'il tient bien tout sur une seule ligne, et sauvegardez le fichier.<br />
• Si le logiciel serveur SSH utilisé sur la machine distante est OpenSSH et qu'il utilise le<br />
protocole SSH-2, faites comme ci-dessus, à ceci près que dans les anciennes versions<br />
de OpenSSH 2, le fichier à modifier s'appelait parfois authorized_keys2 ( dans les<br />
versions récentes, le même fichier authorized_keys est utilisé aussi bien pour les<br />
clés SSH-1 que pour les clés SSH-2 ).<br />
• Si le logiciel serveur SSH de la machine distante est celui de ssh.com et qu'il utilise le<br />
protocole SSH-2, il faut que vous sauvegardiez un fichier de clé publique à partir de<br />
PuTTYgen ( veuillez vous reporter à la section 8.2.9 pour voir comment faire ), et que<br />
vous le copiiez dans le répertoire .ssh2 sur la machine distante. Après quoi, allez dans<br />
ce répertoire .ssh2, et modifiez ( ou créez ) un fichier nommé authorization. Dans<br />
ce fichier, il faut que vous mettiez une ligne du genre Key ma_clé.pub, en remplaçant<br />
bien entendu ma_clé.pub par le vrai nom de votre fichier de clé.<br />
• Pour d'autres logiciels serveurs SSH, veuillez vous référer au manuel de ces serveurs.<br />
Vous avez également tout intérêt à vérifier que votre répertoire personnel ( votre « home<br />
directory », comme on dit en bon français ), votre répertoire .ssh, ainsi que tout autre fichier<br />
qui a un rôle à jouer dans le processus d'authentification ( comme par exemple les fichiers<br />
authorized_keys, authorized_keys2 ou authorization ) ne sont pas accessibles en<br />
écriture par le groupe, ni par le reste du monde. Pour vous en assurer, il vous suffit de taper<br />
une commande dans le genre de celle-ci :<br />
chmod go-w $HOME $HOME/.ssh $HOME/.ssh/authorized_keys<br />
La machine distante est maintenant configurée de façon à accepter l'authentification à l'aide<br />
de votre clé privée. Il vous reste à configurer PuTTY pour qu'il essaye de s'authentifier auprès<br />
de la machine distante avec votre clé privée. Pour cela, vous pouvez procéder de trois<br />
manières :<br />
• Sélectionner la clé privée dans la configuration de PuTTY ( veuillez vous reporter à la<br />
section 4.20.7 pour plus de détails à ce sujet ).<br />
• Indiquer le fichier de clé en ligne de commande, avec l'option -i ( veuillez vous<br />
reporter à la section 3.8.3.18 ).<br />
75
Logiciel d’administration pour IPCOP 1.4.x<br />
• Charger la clé privée dans Pageant ( voir chapitre 9 ). Dans ce cas, PuTTY essayera<br />
automatiquement de s'en servir pour vous authentifier, s'il le peut, chaque fois qu'il y<br />
en aura besoin.<br />
76
Logiciel d’administration pour IPCOP 1.4.x<br />
Chapitre 9 : utilisation de Pageant pour l'authentification<br />
Pageant est un agent d'authentification SSH, qui conserve vos clés privées en mémoire vive,<br />
sous forme décryptée, pour que vous puissiez vous authentifier souvent, sans avoir besoin de<br />
retaper votre phrase de passe à chaque fois.<br />
I. Pour commencer à se servir de Pageant<br />
Pour pouvoir utiliser Pageant, il vous faut une clé privée au format *.PPK. Si vous n'en avez<br />
pas encore, veuillez vous reporter au chapitre 8 pour savoir comment en générer une, et<br />
comment l'utiliser pour vous connecter à une machine distante de façon sécurisée.<br />
Lorsque vous lancez Pageant, une icône apparaît dans la zone de notification, en bas à droite<br />
de l'écran, qui représente un ordinateur portant un chapeau. Le programme reste là sans rien<br />
faire jusqu'à que vous l'utilisiez pour charger une clé privée.<br />
Si vous faites un clic droit sur l'icône de Pageant, un menu appraît. Choisissez la commande<br />
'View Keys' ( voir les clés ) dans ce menu. La fenêtre principale de Pageant apparaît ( vous<br />
pouvez aussi faire un double-clic avec le bouton gauche, à la place, le résultat est le même ).<br />
La fenêtre de Pageant contient une liste déroulante, qui affiche les clés privées que Pageant<br />
gère pour vous. Lorsque vous lancez Pageant, il ne détient aucune clé, et la liste est vide. Une<br />
fois que vous aurez ajouté une ou plusieurs clés, c'est ici qu'elles apparaîtront.<br />
Pour ajouter une clé dans Pageant, cliquez sur le bouton 'Add Key'. Pageant affiche une boîte<br />
de dialogue d'ouverture de fichier intitulée 'Select Private Key File'. Utilisez cette boîte de<br />
dialogue pour localiser votre fichier de clé privée, et cliquez sur 'Open'.<br />
Pageant charge alors la clé privée. Si elle est protégée par une phrase de passe, Pageant vous<br />
demande de taper cette phrase de passe. Une fois que la clé est chargée, elle apparaît dans la<br />
liste des clés, dans la fenêtre de Pageant.<br />
Lancez maintenant PuTTY et connectez-vous par SSH à un site qui accepte votre clé. PuTTY<br />
va s'apercevoir que Pageant est en cours d'exécution, il va récupérer automatiquement la clé<br />
auprès de Pageant, et il va l'utiliser pour vous authentifier. Vous pouvez dès lors ouvrir autant<br />
de sessions PuTTY que vous le souhaitez, sans avoir à retaper votre phrase de passe.<br />
Il est possible de configuer PuTTY pour qu'il n'utilise pas Pageant, mais c'est ce qu'il fait par<br />
défaut. Veuillez vous reporter à la section 4.20.2 et à la section 3.8.3.9 pour plus<br />
d'informations à ce sujet.<br />
Pour arrêter Pageant, faites un clic droit sur son icône, dans la zone de notification en bas à<br />
droite de l'écran, et choisissez 'Exit' dans le menu. Il est à noter que le fait de fermer la fenêtre<br />
principale de Pageant n'arrête pas le programme.<br />
77
Logiciel d’administration pour IPCOP 1.4.x<br />
II. La fenêtre principale de Pageant<br />
La fenêtre principale de Pageant apparaît à l'écran lorsque vous faites un double-clic avec le<br />
bouton gauche sur l'icône de Pageant dans la zone de notification, en bas à droite, à côté de<br />
l'horloge, ou si vous faites un clic droit sur cette même icône et que vous choisissez 'View<br />
Keys' dans le menu contextuel. Vous pouvez vous servir de cette fenêtre principale pour<br />
garder trace des clés qui sont chargées en mémoire à un instant donné, pour en ajouter de<br />
nouvelles ou pour en enlever ( cela les décharge de la mémoire, sans supprimer quoi que ce<br />
soit sur le disque dur, bien entendu ).<br />
II.1 La liste déroulante des clés<br />
La liste déroulante qui occupe la quasi-totalité de la fenêtre principale de Pageant recence les<br />
clés privées actuellement chargées dans Pageant. Cette liste pourrait par exemple ressembler à<br />
ceci :<br />
ssh1 1024 22:c3:68:3b:09:41:36:c3:39:83:91:ae:71:b2:0f:04 k1<br />
ssh-rsa 1023 74:63:08:82:95:75:e1:7c:33:31:bb:cb:00:c0:89:8b k2<br />
Pour chacune des clés, la liste vous indique :<br />
• Le type de la clé. Actuellement, ce peut être ssh1 ( une clé RSA à utiliser avec le<br />
protocole SSH-1 ), ssh-rsa ( une clé RSA à utiliser avec le protocole SSH-2 ), ou<br />
encore ssh-dss ( une clé DSA à utiliser avec le protocole SSH-2 ).<br />
• La taille de la clé ( en nombre de bits ).<br />
• L'empreinte de la clé publique. Ce doit être la même empreinte que celle donnée par<br />
PuTTYgen, et ( espérons-le ) aussi la même empreinte que celle affichée par des<br />
utilitaires distants tels que ssh-keygen lorsque vous les appliquez à votre fichier<br />
authorized_keys.<br />
• Le commentaire associé à la clé.<br />
II.2 Le bouton 'Add Key' ( ajouter une clé )<br />
Pour ajouter une clé dans Pageant en la prenant dans un fichier local, cliquez sur le bouton<br />
'Add Key' dans la fenêtre principale de Pageant, ou alors faites un clic droit sur l'icône<br />
Pageant dans la zone de notification système, et choisissez 'Add Key' dans le menu.<br />
Pageant affiche une boîte de dialogue d'ouverture de fichier intitulée 'Select Private Key<br />
File'. Utilisez cette boîte de dialogue pour localiser votre fichier de clé privée. Si vous voulez<br />
ajouter plus d'une clé à la fois, c'est possible : il suffit de sélectionner les différents fichiers de<br />
clés en cliquant dessus tout en maintenant la touche Maj enfoncée ( pour sélectionner des<br />
fichiers adjacents ) ou la touche Ctrl ( pour sélectionner des fichiers non adjacents ).<br />
Pageant charge alors la ( ou les ) clé(s) privée(s). Si elle est protégée par une phrase de passe,<br />
Pageant vous demande de taper cette phrase de passe.<br />
Ce n'est pas la seule façon de faire pour ajouter une clé privée dans Pageant. Vous pouvez<br />
aussi en ajouter une qui se trouve sur une autre machine, grâce au système du transfert<br />
d'agent. Veuillez vous reporter à la section 9.4 pour plus d'informations à ce sujet.<br />
II.3 Le bouton 'Remove Key' ( retirer la clé )<br />
78
Logiciel d’administration pour IPCOP 1.4.x<br />
Si vous souhaitez que Pageant cesse d'utiliser une clé pour vous authentifier auprès des<br />
machines distantes, il vous suffit de sélectionner cette clé dans la liste et de cliquer sur le<br />
bouton 'Remove Key'. Pageant déchargera cette clé de son espace mémoire.<br />
Vous pouvez faire cela avec les clés que vous avez chargées en cliquant sur le bouton 'Add<br />
Key' ( [NdT] ou que vous avez chargées depuis la ligne de commande, cf. section 9.3.1, cidessous<br />
), mais vous pouvez aussi le faire avec les clés que vous avez ajoutées à distance,<br />
grâce au système de transfert d'agent, cela ne fait aucune différence ( pour plus d'informations<br />
au sujet du transfert d'agent, veuillez vous reporter à la section 9.4, ci-dessous ).<br />
III. La ligne de commande de Pageant<br />
Pageant peut être configué de façon à faire un certain nombre de choses automatiquement<br />
lorsqu'il se lance. Il suffit pour cela de lui indiquer quoi faire en ligne de commande. Si vous<br />
démarrez Pageant à partir de l'interface utilisateur graphique de Windows, il vous suffit de<br />
modifier les propriétés du raccourci Windows qui vous sert à lancer Pageant.<br />
Si Pageant est déjà en cours d'exécution, le fait de relancer la commande avec les options cidessous<br />
impacte l'instance actuelle de Pageant ( cela n'en lance pas une nouvelle ).<br />
III.1 Faire en sorte que Pageant charge automatiquement des clés<br />
au démarrage<br />
Pageant peut charger automatiquement une ou plusieurs clés privées en mémoire lorsqu'il se<br />
lance, si vous les lui passez en paramètre. La ligne de commande utilisée pour lancer Pageant<br />
pourrait par exemple ressembler à ceci :<br />
C:\PuTTY\pageant.exe d:\ma_premiere_clé.ppk d:\ma_deuxième_clé.ppk<br />
Si les clés sont stockées sur le disque sous forme cryptée, Pageant vous demandera bien sûr de<br />
saisir au clavier les phrases de passe correspondantes au démarrage.<br />
Si Pageant est déjà en cours d'exécution, cette commande a pour effet de charger les clés<br />
indiquées dans l'instance actuelle de Pageant ( cela n'en démarre pas une autre ).<br />
III.2 Faire en sorte que Pageant lance un autre programme<br />
Vous pouvez faire en sorte que Pageant démarre un autre programme une fois qu'il a fini de<br />
s'initialiser lui-même, et qu'il a chargé les clés qu'on lui a demandé de charger ( d:\main.ppk,<br />
dans l'exemple ci-dessous ). Ce programme ( ce peut être PuTTY, WinCVS qui fait appel à<br />
Plink, ou n'importe quoi d'autre ) sera alors en mesure d'utiliser les clés que Pageant a<br />
chargées en mémoire.<br />
Pour ce faire, il vous suffit d'indiquer le nom du programme que vous voulez lancer, précédé<br />
de l'option -c, comme ceci :<br />
C:\PuTTY\pageant.exe d:\main.ppk -c C:\PuTTY\putty.exe<br />
79
Logiciel d’administration pour IPCOP 1.4.x<br />
IV. Utilisation du transfert d'agent ( "agent forwarding" )<br />
Le transfert d'agent est un mécanisme qui permet aux applications fonctionnant sur le serveur<br />
SSH, donc sur la machine distante, de s'adresser à l'agent lancé sur la machine cliente ( votre<br />
PC ).<br />
Veuillez notez que pour l'instant, le transfert d'agent de SSH-2 n'est utilisable que si le serveur<br />
SSH qui tourne sur la machine distante est OpenSSH. Le serveur SSH de ssh.com utilise un<br />
protocole agent différent, que PuTTY ne gère pas encore.<br />
Pour activer le transfert d'agent, commencez par lancer Pageant. Ensuite, configurez une<br />
session PuTTY, en SSH, dans laquelle vous activerez 'Allow agent forwarding' ( pour plus<br />
de détails à ce sujet, veuillez vous reporter à la section 4.20.5 ). Ouvrez la session comme<br />
vous le feriez normalement ( vous pouvez aussi utiliser l'option -A, en ligne de commande,<br />
cf. section 3.8.3.10 ).<br />
Si cela fonctionne correctement, alors les applications tournant sur la machine distante<br />
devraient maintenant pouvoir accéder à un socket Unix que le serveur SSH va renvoyer vers<br />
PuTTY, et que PuTTY va renvoyer à son tour vers l'agent. Pour vérifier que c'est bien ce qui<br />
se passe, si la machine distante tourne sous Unix, vous pouvez essayer de lancer cette<br />
commande dessus :<br />
machine_unix:~$ echo $SSH_AUTH_SOCK<br />
/tmp/ssh-XXNP18Jz/agent.28794<br />
machine_unix:~$<br />
Si cela renvoie une ligne vide, c'est que le transfert d'agent n'a pas été activé du tout.<br />
Supposons que cela fonctionne correctement : si maintenant, vous lancez la commande ssh<br />
sur la machine distante, et que vous vous en servez pour vous connecter en cascade à une<br />
troisième machine qui accepte l'une des clés stockées dans Pageant, alors vous devriez<br />
pouvoir ouvrir une session sur cette troisième machine sans taper de mot de passe :<br />
machine_unix:~$ ssh -v autre_machine_unix<br />
[...]<br />
debug: next auth method to try is publickey<br />
debug: userauth_pubkey_agent: trying agent key my-putty-key<br />
debug: ssh-userauth2 successful: method publickey<br />
[...]<br />
Si vous activez aussi le transfert d'agent sur cette connexion SSH ( veuillez vous reporter au<br />
manuel du client SSH qui est installé sur la machine distante pour savoir comment faire ), vos<br />
clés d'authentification seront encore disponibles sur la prochaine machine à laquelle vous<br />
vous connecterez - à deux connexions SSH de distance par rapport à votre PC local, sur lequel<br />
elles sont effectivement stockées.<br />
De plus, si vous avez une clé privée installée sur l'un des serveurs SSH ( autrement dit sur<br />
l'une des machines auxquelles vous vous connectez par ce biais ), alors vous pouvez la<br />
renvoyer jusqu'à Pageant ( donc lui faire faire tout le même chemin en sens inverse ), grâce à<br />
la commande locale ssh-add :<br />
machine_unix:~$ ssh-add ~/.ssh/id_rsa<br />
Need passphrase for /home/fred/.ssh/id_rsa<br />
Enter passphrase for /home/fred/.ssh/id_rsa:<br />
Identity added: /home/fred/.ssh/id_rsa (/home/simon/.ssh/id_rsa)<br />
80
machine_unix:~$<br />
Logiciel d’administration pour IPCOP 1.4.x<br />
Elle sera alors accessible à toute machine qui dispose du transfert d'agent ( pas uniquement<br />
celles situées en aval de l'endroit où vous l'avez ajoutée ).<br />
V. Considérations liées à la sécurité<br />
Le fait d'utiliser Pageant dans le cadre d'un système d'authentification par clé privée a cela de<br />
pratique que cela vous permet d'ouvrir plusieurs sessions SSH sans avoir à resaisir une phrase<br />
de passe à chaque fois, et cela présente l'avantage, au niveau sécurité, que les clés privées ne<br />
sont jamais écrites en clair sur le disque. De nombreuses personnes estiment que c'est un bon<br />
compromis entre sécurité et facilité d'utilisation.<br />
Cela dit, c'est un compromis. Garder vos clés privées, sous forme décryptée, dans l'espace<br />
mémoire alloué à Pageant, cela vaut mieux que de les écrire en clair sur le disque dur, dans<br />
des fichiers faciles à trouver, mais c'est tout de même moins sûr que de ne pas les stocker du<br />
tout, et cela pour deux raisons :<br />
• Windows ne fournit malheureusement aucun moyen d'empêcher que des zones de la<br />
mémoire vive ne soient écrites dans le fichier de pagination. Donc si Pageant garde<br />
vos clés en mémoire pendant un temps relativement long, il est possible que des<br />
fragments de clé privée soient écrits en clair dans le fichier de pagination, et qu'un<br />
pirate qui a réussi à accéder à votre disque dur puisse récupérer ces données plus tard.<br />
Cela dit, si votre clé privée était stockée sur le disque dur, en clair dans un fichier,<br />
alors il est certain qu'un pirate arriverait à la récupérer.<br />
• Comme la plupart des systèmes d'exploitation modernes, Windows empêche les<br />
programmes d'accéder par accident à l'espace mémoire alloué à d'autres programmes,<br />
mais il leur permet en revanche d'y accéder de façon délibérée, pour des contextes<br />
d'utilisation particuliers tels que la mise au point de programmes. Cela implique que si<br />
un virus, un cheval de Troie, ou tout autre programme mal intentionné s'exécute en<br />
même temps que Pageant sur votre machine Windows, il peut fort bien accéder à la<br />
mémoire allouée à Pageant, en extraire vos clés d'authentification sous forme<br />
décryptée, et les renvoyer à son « seigneur et maître ».<br />
De la même manière, l'utilisation du transfert d'agent constitue un progrès en matière de<br />
sécurité par rapport à d'autres méthodes d'authentification, mais ce n'est encore pas la<br />
perfection. Le fait de garder vos clés dans Pageant, sur votre machine Windows, présente un<br />
avantage, question sécurité, par rapport au fait de les garder sur la machine distante elle-même<br />
( que ce soit dans un agent, ou en clair sur le disque ), parce que si jamais la machine distante<br />
voit passer votre clé privée en clair, non cryptée, alors l'administrateur système, ou le premier<br />
pirate venu qui réussit à s'introduire dans la machine, peut dérober ces clés et les utiliser pour<br />
se faire passer pour vous, aussi longtemps qu'ils le veulent.<br />
Toutefois, l'admin système de la machine distante peut toujours se faire passer pour vous sur<br />
cette machine. Donc si vous transférez votre agent vers la machine distante, alors l'admin<br />
système de cette machine peut accéder à la connexion d'agent transféré, et il peut obtenir des<br />
signatures à partir de vos clés privées. Donc il peut ouvrir des sessions sur d'autres machines<br />
en se faisant passer pour vous. Il ne peut toutefois le faire que dans certaines limites, puisque<br />
quand le transfert d'agent est interrompu, l'admin indélicat perd la possibilité de se faire ainsi<br />
passer pour vous, mais ce n'est pas le fait d'utiliser Pageant qui va vraiment empêcher<br />
l'administrateur système ( ou un pirate qui a réussi à prendre la main sur la machine distante )<br />
de jouer à ce petit jeu.<br />
81
Logiciel d’administration pour IPCOP 1.4.x<br />
Moralité : si vous n'avez pas confiance en l'admin système d'une machine à laquelle vous êtes<br />
susceptible de vous connecter en SSH, alors n'utilisez jamais le transfert d'agent en direction<br />
de cette machine ( bien entendu, ne stockez pas non plus de clés privées sur cette machine, n'y<br />
tapez pas de phrases de passe, et ne vous connectez pas à d'autres machines à partir de celleci,<br />
d'aucune façon que ce soit ( ce n'est pas une spécificité de Pageant, mais bel et bien une<br />
mesure de prudence élémentaire ).<br />
82
Logiciel d’administration pour IPCOP 1.4.x<br />
Annexe A : Foire aux questions sur PuTY<br />
Cette FAQ figure sur le site web de PuTTY, et elle est aussi fournie en annexe du manuel<br />
( NdT : en anglais dans les deux cas ).<br />
I. Introduction<br />
I.1 PuTTY, c'est quoi, exactement ?<br />
PuTTY est un programme client pour les protocoles réseaux SSH, Telnet et Rlogin.<br />
Tous ces protocoles servent à lancer une session sur une machine distante, via le réseau.<br />
PuTTY constitue la partie client de cette session, autrement dit l'extrémité de la liaison où les<br />
commandes sont tapées, et où les résultats sont affichés, par opposition à celle où sont<br />
exécutés les traitements.<br />
Pour dire les choses plus simplement, vous lancez PuTTY sur une machine Windows, et vous<br />
lui demandez de se connecter à une machine Unix ( par exemple ). PuTTY ouvre une fenêtre,<br />
et à partir de là, tout ce que vous tapez au clavier dans cette fenêtre est envoyé directement à<br />
la machine Unix, et tout ce que la machine Unix renvoie en retour est affiché dans la fenêtre<br />
PuTTY. Cela vous permet d'utiliser la machine Unix comme si vous étiez assis devant, alors<br />
qu'en fait, vous vous trouvez ailleurs.<br />
II. Fonctionnalités de PuTTY<br />
D'une façon générale, si vous voulez savoir si PuTTY sait faire telle ou telle chose, vous<br />
devriez chercher dans le site web de PuTTY. En particulier, vous devriez :<br />
• aller sur la page des modifications, et regarder si ce que vous cherchez y figure, ou<br />
non. Si une fonctionnalité figure dans cette page, c'est qu'elle est implémentée dans le<br />
logiciel. Si elle y est listée en tant que modification apportée depuis la dernière<br />
version, alors c'est qu'elle doit figurer dans les pré-versions de développement ( les<br />
« development snapshots », comme on dit en bon français ), auquel cas votre avis en<br />
tant que testeur est le bienvenu.<br />
• aller sur la page des desiderata, et regarder si ce que vous cherchez y figure, ou non. Si<br />
vous l'y trouvez, mais pas dans la rubrique 'Recently fixed' ( corrigé récemment ),<br />
alors c'est probablement que ce n'est pas encore implémenté.<br />
II.1 Est-ce que PuTTY supporte le SSH-2 ?<br />
Oui, depuis la version 0.50 de PuTTY.<br />
L'authentification par clé publique SSH-2 ( aussi bien RSA que DSA ) a été ajoutée dans la<br />
version 0.52.<br />
83
Logiciel d’administration pour IPCOP 1.4.x<br />
II.2Est-ce que PuTTY sait lire les fichiers de clés privées SSH-2 de<br />
OpenSSH ou de ssh.com ?<br />
Pas de façon native ( si vous voulez savoir pourquoi, lisez l'entrée correspondante dans la<br />
page des desiderata ), mais depuis la version 0.53, PuTTYgen sait convertir les fichiers de<br />
clés privées de ces deux formats dans le format de PuTTY.<br />
II.3Est-ce que PuTTY supporte le SSH-1 ?<br />
Oui. PuTTY a toujours supporté le SSH-1.<br />
II.4 Est-ce que PuTTY supporte l'écho local ?<br />
Oui. L'écho local est géré correctement depuis la version 0.52.<br />
Dans la version 0.51 et les versions précédentes, l'écho local allait forcément de pair avec<br />
l'édition locale de ligne ( quand on tape une ligne de texte en local, et qu'elle n'est pas envoyée<br />
à la machine distante avant qu'on ait appuyé sur Entrée, cela permet de corriger d'éventuelles<br />
fautes de frappe avant que la machine distante ne les voie, contrairement à ce qui se passe<br />
quand les caractères tapés au clavier sont envoyés au fur et à mesure à la machine distante ).<br />
Depuis la version 0.52, l'écho local et l'édition de ligne en local sont des options distinctes, et<br />
par défaut, PuTTY essaie de déterminer automatiquement s'il y a ou non lieu de les activer, en<br />
fonction du protocole sélectionné, et en fonction d'indications fournies par la machine<br />
distante. Si les choix par défaut de PuTTY ne vous conviennent pas, vous pouvez modifier ces<br />
réglages. Pour cela, allez dans le panneau de configuration Terminal, dans la partie intitulée<br />
'Line discipline options'.<br />
II.5 Est-ce que PuTTY conserve sa configuration d'une fois sur<br />
l'autre, pour ne pas qu'il n'y ait besoin de tout refaire à chaque<br />
utilisation ?<br />
Oui, tous les réglages de PuTTY peuvent être enregistrés dans des profils de sessions, ou<br />
sessions sauvegardées. Vous pouvez aussi modifier les réglages par défaut qui sont utilisés<br />
pour les nouvelles sessions ( pour plus d'informations à ce sujet, veuillez vous reporter à la<br />
section 4.1.2 ).<br />
II.6 Est-ce que PuTTY sait stocker sa configuration dans un fichier<br />
de configuration ?<br />
Pas pour l'instant. Toutefois, dans la section 4.26, vous trouverez la marche à suivre pour<br />
obtenir le même effet.<br />
II.7Est-ce que PuTTY supporte le mode plein écran, comme les<br />
fenêtres de commandes DOS ?<br />
Oui, c'était l'une des nouveautés de la version 0.52.<br />
84
Logiciel d’administration pour IPCOP 1.4.x<br />
II.8 Est-ce que PuTTY sait se souvenir de mon mot de passe, pour<br />
que je n'aie pas à le taper à chaque fois ?<br />
Non, il ne sait pas faire cela, et c'est tant mieux. La mémorisation d'un mot de passe est une<br />
mauvaise idée, pour d'évidentes raisons de sécurité : quiconque réussit à accéder à votre<br />
machine en votre absence peut découvrir les mots de passe sauvegardés, les utiliser, en faire<br />
mauvais usage, voire même les modifier dans votre dos.<br />
De plus, PuTTY ne peut pas envoyer automatiquement votre mot de passe pour ouvrir une<br />
session Telnet, parce que le protocole Telnet n'indique d'aucune manière au logiciel client à<br />
quel moment précis il attend qu'on lui envoie le mot de passe. Il faudrait que PuTTY devine<br />
cela, en surveillant par exemple l'apparition de mots tels que 'password' dans les données<br />
échangées avec le serveur Telnet, lors de l'établissement de la session. Pour peu que le<br />
programme à l'autre bout ne parle pas anglais, il faudrait surveiller aussi le mot 'mot de passe'<br />
en français, 'Passwort' en allemand, etc., et on ne s'en sortirait pas.<br />
Avec SSH, il serait théoriquement possible de mémoriser votre mot de passe, mais cela ne<br />
présenterait pas grand intérêt, puisque SSH gère de toute façon l'authentification par clé<br />
publique, qui est à la fois plus souple et plus sûre. Veuillez vous reporter au chapitre 8 pour<br />
des explications complètes au sujet de l'authentification par clé publique.<br />
II.9 Y'a t'il une option pour désactiver ces ennuyeux messages au<br />
sujet des clés d'hôte ?<br />
Non, il n'y en a pas. Et il n'y en aura pas. Même si vous écrivez vous-même le correctif<br />
nécessaire, et que vous nous l'envoyez, nous ne l'accepterons pas.<br />
Ces « ennuyeux messages au sujet des clés d'hôte » sont au coeur même de SSH. Sans eux,<br />
toute la technologie cryptographique que SSH utilise pour sécuriser votre session ne servirait<br />
à rien d'autre qu'à rendre le travail du pirate un peu plus difficile. Au lieu de simplement<br />
s'intercaler entre vous et la machine distante avec un renifleur de paquets ( pour prendre<br />
connaissance de votre mot de passe, même si celui-ci est crypté, et le décrypter après, tout à<br />
loisir ), l'attaquant doit réussir à pirater un routeur et à modifier à la volée les paquets qui<br />
transitent dans un sens et dans l'autre. Mais même ça, ce n'est pas beaucoup plus difficile que<br />
de renifler des paquets, et sans vérification de la clé d'hôte, cela pourrait passer complètement<br />
inaperçu, tant du côté du client ( vous ) que du côté du serveur ( la machine distante ).<br />
La vérification de la clé d'hôte vous garantit que la méthode de chiffrement que vous utilisez<br />
côté client est bien la même que ( ou l'inverse de ) celle qui est appliquée côté serveur, pour<br />
récupérer les données en clair. Elle vous garantit que les données n'ont pas été décryptées en<br />
cours de route, par une personne mal intentionnée, puis ré-encryptées ( après modification,<br />
éventuellement ). La vérification de la clé d'hôte rend le travail du pirate incroyablement<br />
difficile, comparé au reniflage de paquets, et même comparé au piratage de routeur. Au lieu<br />
de faire preuve d'un minimum d'intelligence et de garder un oeil sur Bugtraq, le pirate doit<br />
effectuer une attaque par force brute contre au minimum un chiffrement de classe militaire.<br />
Vu sous cet angle, les « ennuyeux messages au sujet des clés d'hôte » sont bien peu de chose.<br />
Si vous rencontrez un problème précis avec la vérification de la clé d'hôte, par exemple si<br />
vous voulez utiliser PSCP ou Plink dans un script batch pour automatiser une connexion ou<br />
un transfert, et que la vérification interactive de la clé d'hôte fait échouer le processus, alors la<br />
bonne manière de procéder, pour régler le problème, consiste à ajouter la clé d'hôte de la<br />
machine distante dans la Base de registres de Windows ( côté client, donc sur votre machine à<br />
85
Logiciel d’administration pour IPCOP 1.4.x<br />
vous ) avant de lancer le script. De cette façon, vous conservez ce qui fait tout l'intérêt de la<br />
vérification de la clé d'hôte : la clé d'hôte de la machine distante sera acceptée, mais les clés<br />
d'hôte que pourraient envoyer les machines utilisées par un pirate ne le seront pas. Ajouter<br />
une option dans PuTTY pour désactiver complètement la vérification de la clé d'hôte n'est pas<br />
la bonne solution, et nous ne le ferons pas.<br />
Si vous avez des clés d'hôtes au format known_hosts, sachez que nous tenons à votre<br />
disposition un script nommé kh2reg.py pour les convertir en un fichier Windows .REG, grâce<br />
auquel vous pourrez inscrire ces clés d'hôtes dans la Base de registres, avant d'utiliser votre<br />
script de connexion automatisée, soit en double-cliquant sur le fichier .REG, soit via l'outil<br />
REGEDIT<br />
II.10 Allez-vous écrire un serveur SSH, et le diffuser avec PuTTY,<br />
pour aller avec le client ?<br />
Non. La seule raison qui pourrait justifier cela serait qu'il nous soit possible de réutiliser<br />
suffisament de code existant pour que cela diminue de façon sensible le travail de<br />
développement. Nous ne pensons pas que ce soit le cas. Il n'y a tout simplement pas<br />
suffisament de choses en commun entre un client SSH et un serveur SSH, pour que le jeu en<br />
vaille la chandelle.<br />
Si quelqu'un souhaite utiliser des parties du code source de PuTTY pour écrire un serveur<br />
SSH pour Windows, il est tout à fait le bienvenu, bien sûr, mais je ne suis vraiment pas<br />
persuadé que cela demande moins d'efforts que d'écrire un serveur SSH en partant de rien.<br />
Nous n'avons ni le temps ni la motivation nécessaires pour le faire nous-mêmes, mais si<br />
quelqu'un d'autre veut s'y essayer, notre code est à sa disposition.<br />
II.11 PSCP et PSFTP savent-ils transférer des fichiers en mode<br />
ASCII ?<br />
Malheureusement non. Pendant longtemps, cela s'est expliqué par une limitation des<br />
protocoles de transfert de fichiers : les protocoles SCP et SFTP ne savaient pas transférer un<br />
fichier autrement qu'en binaire ( c'est d'ailleurs toujours le cas, en ce qui concerne SCP ).<br />
Une spécification actuellement à l'étude du protocole SFTP propose une façon d'effectuer des<br />
transferts en mode ASCII. Il n'est donc pas impossible que PSCP/PSFTP mettent cela en<br />
oeuvre un jour ou l'autre.<br />
III. Versions de PuTTY destinées à d'autres systèmes d'exploitation<br />
Le but in fine est de faire de PuTTY un programme multi-plateformes, qui tourne au moins<br />
sous Windows, MacOS et sous Unix.<br />
Le portage vers d'autres systèmes deviendra plus facile une fois que PuTTY aura une couche<br />
de portage globale, qui permettra de tirer un trait bien net entre le code spécifique à une<br />
plateforme donnée et celui qui est commun à toutes.<br />
86
Logiciel d’administration pour IPCOP 1.4.x<br />
L'idée, c'était que cette couche de portage évolue petit à petit, au cours de la mise au point du<br />
premier portage. Une version Unix est maintenant terminée, et il semble que notre plan<br />
fonctionne, jusqu'ici.<br />
III.1 Pour quels autres systèmes existe-t-il des versions de PuTTY,<br />
en dehors de Windows 32 bits ?<br />
Pour l'instant, les versions stables des outils PuTTY ne fonctionnent que sur les systèmes<br />
Win32 et Unix. 'Win32', cela veut dire Windows 95, 98, et ME, Windows NT, Windows 2000<br />
et Windows XP.<br />
Parmi les versions en cours de développement, un portage partiel vers Mac OS est en cours<br />
( cf. question A.3.6 ).<br />
Actuellement, PuTTY ne fonctionne pas sous Windows CE ( cf. question A.3.4 ), et pas<br />
vraiment bien avec l'environnement Win32s de Windows 3.1 ( cf. question A.3.5 ).<br />
Nous n'avons pas de portages stables pour d'autres systèmes à l'heure actuelle. Si quelqu'un<br />
vous a dit que nous avons une version EPOC, ou une version iPaq, ou n'importe quelle autre<br />
version de PuTTY, cette personne s'est trompée. Nous n'en avons pas.<br />
En revanche, il existe quelques versions destinées à différentes plateformes, qui ont été écrites<br />
par d'autres personnes, et qui sont mentionnées dans cette page ici .<br />
III.2 Y'a-t-il une version Unix ?<br />
Depuis la version 0.54, il existe des versions Unix de la plupart des outils PuTTY<br />
traditionnels, ainsi qu'une application entièrement nouvelle.<br />
Si vous regardez dans la version qui inclut les codes sources, vous y trouverez un sousrépertoire<br />
unix, avec dedans un fichier Makefile.gtk, qui sert à compiler les versions Unix<br />
de Plink, de PuTTY lui-même, de PuTTYgen, PSCP, PSFTP, et aussi de pterm - un<br />
programme de type xterm qui supporte le même type d'émulation de terminal que PuTTY.<br />
Nous n'avons pas encore de version Unix de Pageant.<br />
Si vous n'avez pas Gtk, vous pouvez tout de même compiler les versions en ligne de<br />
commande des outils.<br />
Veuillez noter que la version Unix de PuTTY a principalement été testée sous Linux jusqu'ici.<br />
Il faut donc s'attendre à de possibles soucis de portabilité avec les ptys façon BSD, ou à ce<br />
qu'il y ait besoin de fichiers d'entête différents.<br />
87
Logiciel d’administration pour IPCOP 1.4.x<br />
III.3 Quel est l'intérêt de la version Unix, puisqu'Unix a déjà<br />
OpenSSH ?<br />
La version Unix présente un intérêt pour différentes raisons. pterm, par exemple, est<br />
directement utile pour les gens qui préfèrent l'émulation de terminal de PuTTY à celle de<br />
xterm, et c'est le cas d'au moins un certain nombre de gens. La version Unix de Plink semble<br />
avoir trouvé un public parmi les gens qui trouvent que la complexité d'OpenSSL le rend<br />
difficile à installer, et que cela ne dérange pas que Plink n'ait pas autant de fonctionnalités.<br />
Certaines personnes, enfin, apprécient de générer un grand nombre de clés SSH sous Unix et<br />
veulent pouvoir les copier ensuite dans PuTTY, et la version Unix de PuTTYgen se doit de<br />
leur permettre d'automatiser ce processus de conversion.<br />
Il y a aussi des avantages pour nous, l'équipe de développement : le fait de porter PuTTY sous<br />
Unix nous a demandé un travail qui bénéficiera directement aux autres portages, et cela nous<br />
a permis d'utiliser l'excellent outil Linux de mise au point Valgrind, qui nous a déjà permis<br />
d'améliorer la stabilité de PuTTY sur toutes les plateformes.<br />
Cela étant, si vous utilisez Unix et que vous ne voyez aucune raison de passer de OpenSSH à<br />
PuTTY et à Plink, ce n'est pas un problème. La version Unix de nos outils n'a pas l'ambition<br />
d'être LA seule et unique réponse à tous les besoins de tout le monde.<br />
III.4 Y'aura-t-il un jour une version Windows CE ou PocketPC ?<br />
Nous avons travaillé un petit peu dessus, mais nous n'en sommes pas encore bien loin, et le<br />
résultat est loin d'être utilisable. Pour l'instant, cela ne fait plus partie des choses sur lesquelles<br />
nous travaillons activement. Cela dit, il existe un portage réalisé par une personne extérieure à<br />
l'équipe de développement de PuTTY. Vous pouvez le trouver sur<br />
http://www.pocketputty.net/.<br />
III.5 Y'a-t-il une version Windows 3.1 ?<br />
PuTTY est une application entièrement 32 bits, qui ne peut donc pas fonctionner sous<br />
Windows 3.1 comme le ferait un programme 16 bits natif. Et il serait très difficile de le<br />
modifier pour en faire un programme 16 bits, en raison des infâmes mécanismes d'allocation<br />
mémoire de Windows 3.1.<br />
Cependant, il reste théoriquement possible de compiler les sources de PuTTY, sans<br />
modification, de telle façon que l'application puisse fonctionner sous Win32s ( une extension<br />
de Windows 3.1 destinée à permettre l'utilisation de programmes 32 bits ). Pour cela, il vous<br />
faudra un compilateur C qui sache générer des binaires compatibles avec Win32s, ce qui n'est<br />
pas le cas des versions récentes de Visual C++. De plus, la dernière fois que vous avons<br />
essayé, ça n'a pas très bien marché.<br />
Donc, si vous êtes bien motivé(e), et que vous avez vraiment envie de faire tourner PuTTY<br />
sous Windows 3.1, votre aide est la bienvenue !<br />
88
Logiciel d’administration pour IPCOP 1.4.x<br />
III.6 Y'aura-t-il un jour une version Mac ?<br />
l y a plusieurs réponses à cette question :<br />
• La version Unix/Gtk fonctionne déjà parfaitement sous Mac OS X en tant<br />
qu'application X11.<br />
• Une version MacOS X native ( Cocoa ) a été commencée. Elle est tout juste utilisable,<br />
et comme elle se comporte parfois de façon, disons... inattendue, elle n'est<br />
certainement pas prête à être diffusée. Dans l'état actuel des choses, elle a peu de<br />
chances de voir le jour pour de bon, à moins que quelqu'un ne vienne rejoindre<br />
l'équipe pour donner un coup de main.<br />
• Une version distincte, destinée aux anciens Macs ( d'avant MacOS X ) est également<br />
en cours. Elle n'est pas finie non plus.<br />
III.7 Y'aura-t-il un jour une version EPOC ?<br />
Je l'espère, mais étant donné que les portages n'avancent pas très vite, même sur les systèmes<br />
que les développeurs maîtrisent déjà, il risque de passer de l'eau sous les ponts d'ici que l'un<br />
d'entre nous arrive à prendre le temps d'apprendre ce nouveau système et de faire le portage<br />
correspondant.<br />
Toutefois, une partie du travail a déjà été faite par d'autres personnes, et une version bêta de<br />
PuTTY pour la série Nokia 9200 Communicator est disponible ici :<br />
http://s2putty.sourceforge.net/<br />
IV. Intégration de PuTTY dans d'autres programmes<br />
IV.1 Le code de SSH ou de Telnet est-t-il disponible sous forme de<br />
DLL ?<br />
Non. Cela demanderait un certain travail de réécriture pour faire en sorte que ce soit possible,<br />
et comme les développeurs du projet PuTTY ne croient eux-mêmes pas aux DLL ( parce<br />
qu'ils estiment qu'elles rendent l'installation des programmes sujette aux erreurs ), aucun<br />
d'entre nous n'a pris le temps de le faire.<br />
Cela dit, un nettoyage du code ne serait pas une mauvaise chose, donc si quelqu'un se sentait<br />
prêt à donner un coup de main de ce côté-là, nous ne dirions pas non.<br />
IV.2 Le code de SSH ou de Telnet est-t-il disponible sous forme de<br />
composant Visual Basic ?<br />
Non. Aucun des membres de l'équipe PuTTY n'utilise Visual Basic, et aucun d'entre nous n'a<br />
besoin d'établir une connexion SSH depuis une application en Visual Basic. Sans compter<br />
qu'il faudrait tout un travail préliminaire pour convertir le code correspondant en DLL. En<br />
plus, nous ne savons même pas écrire des composants VB. Alors si quelqu'un se propose de le<br />
89
Logiciel d’administration pour IPCOP 1.4.x<br />
faire à notre place, ça peut s'envisager, mais dans le cas contraire, je n'arrive pas à imaginer<br />
l'intégration PuTTY / Visual Basic ailleurs que tout en bas tout en bas de notre liste des<br />
priorités.<br />
IV.3 Comment puis-je utiliser PuTTY pour établir une connexion<br />
SSH depuis un autre programme ?<br />
La meilleure solution, dans votre cas, consiste probablement à utiliser Plink, l'outil de<br />
connexion en ligne de commande. Si vous parvenez à démarrer Plink à partir de votre<br />
programme, et à faire en sorte que votre programme puisse envoyer des données au processus<br />
Plink, et en recevoir de lui, au travers de canaux ( « pipes » ), alors vous devriez pouvoir<br />
établir des connexions SSH à partir de votre programme. C'est ce que fait CVS pour<br />
Windows, par exemple.<br />
V. Le fonctionnement de PuTTY en détail<br />
V.1 Quel type de terminal PuTTY utilise-t-il ?<br />
Dans la plupart des cas, PuTTY peut être considéré comme un terminal xterm.<br />
PuTTY reconnaît aussi certaines séquences de contrôle de terminal que ne reconnaît pas le<br />
vrai xterm, comme par exemple les séquences de contrôle de la console Linux qui permettent<br />
de changer la palette de couleurs, et les séquences de contrôle de la barre de titre qu'utilise<br />
DECterm ( ces séquences sont différentes de celles de xterm, et PuTTY les reconnaît toutes<br />
les deux ).<br />
Par défaut, PuTTY annonce son type de terminal à la machine distante en se présentant<br />
comme un xterm. Si cela vous pose un problème, vous pouvez le reconfigurer pour qu'il<br />
annonce quelque chose d'autre, comme vt220, par exemple.<br />
V.2 Où PuTTY stocke-t-il ses données ?<br />
Sous Windows, PuTTY stocke la plupart de ses données ( sessions sauvegardées, clés d'hôtes<br />
SSH ) dans la Base de registres. L'emplacement exact est le suivant :<br />
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY<br />
et, à l'intérieur de cette zone, les sessions sauvegardées sont stockées dans Sessions, tandis<br />
que les clés d'hôtes se trouvent dans SshHostKeys.<br />
PuTTY a aussi besoin d'un fichier dans lequel il stocke la graine destinée au générateur de<br />
nombres pseudo-aléatoires, de façon à améliorer le caractère imprévisible des données<br />
choisies au hasard qui sont requises dans le cadre du processus de cryptographie SSH. Cette<br />
graine est stockée par défaut dans un fichier nommé PUTTY.RND dans votre répertoire<br />
personnel Windows ( %HOMEDRIVE%\%HOMEPATH% ), ou dans le répertoire de Windows luimême<br />
( par exemple C:\WINDOWS ) si vous n'avez pas de répertoire personnel, comme par<br />
exemple si vous utilisez Windows 95. Si vous voulez changer l'emplacement du fichier de<br />
graine du générateur de nombres pseudo-aléatoires, vous pouvez indiquer l'emplacement de<br />
votre choix dans la Base de registres, en le mettant ici :<br />
90
Logiciel d’administration pour IPCOP 1.4.x<br />
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\RandSeedFile<br />
Vous pouvez demander à PuTTY de supprimer toutes ces données ( veuillez vous reporter à la<br />
question A.8.2 pour plus d'informations ).<br />
Sous Unix, PuTTY stocke toutes ses données dans le répertoire ~/.putty.<br />
VI. Comment faire pour... ?<br />
VI.1 Quel nom d'utilisateur et/ou quel mot de passe dois-je<br />
utiliser ?<br />
Ce n'est pas à nous que vous devriez poser cette question.<br />
PuTTY est un outil de communication, qui sert à se connecter à d'autres ordinateurs. Nous,<br />
nous maintenons l'outil. Nous n'administrons aucun des ordinateurs auxquels vous êtes<br />
susceptible de vous connecter, de la même façon que les gens qui écrivent les navigateurs<br />
Web ne sont en rien responsables du contenu que vous regardez avec leur programme. Nous<br />
ne pouvons pas vous aider pour ce genre de questions.<br />
Si vous connaissez le nom de la machine à laquelle vous voulez vous connecter, mais que<br />
vous ne savez pas quel nom d'utilisateur ou quel mot de passe utiliser, vous devriez poser la<br />
question à la personne ou aux personnes qui administre(nt) cette machine. Si vous ne savez de<br />
qui il s'agit, regardez la question suivante, cela vous aidera à trouver la réponse.<br />
VI.2 Quelles commandes puis-je taper dans ma fenêtre de terminal<br />
PuTTY ?<br />
Une fois encore, ce n'est pas à nous que vous devriez poser cette question. Il faut que vous<br />
lisiez la documentation, ou que vous demandiez à l'administrateur, de la machine à laquelle<br />
vous vous êtes connecté.<br />
PuTTY ne traite pas les commandes que vous tapez. Ce n'est qu'un outil de communication. Il<br />
établit la connexion avec un autre ordinateur, lui transmet les commandes que vous tapez dans<br />
sa fenêtre, et il vous retransmet ce que l'autre machine renvoie comme réponse. C'est pourquoi<br />
la gamme de commandes que vous pouvez utiliser ne dépend pas de PuTTY, mais du type<br />
d'ordinateur auquel vous êtes connecté, et des logiciels qui fonctionnent dessus. L'équipe de<br />
PuTTY ne peut pas vous aider là-dessus.<br />
Dites-vous que PuTTY est une sorte de téléphone. Si vous appelez quelqu'un et que vous ne<br />
savez pas en quelle langue lui parler pour vous faire comprendre, ce n'est pas à le travail de la<br />
compagnie de téléphone de le trouver à votre place. Nous, nous fournissons juste le moyen de<br />
communication. Arriver à vous faire comprendre, ce n'est pas notre travail à nous.<br />
Si vous ne savez pas par où commencer, pour chercher l'administrateur de la machine distante<br />
que vous souhaitez utiliser, ce peut être une bonne idée de commencer par vous demander<br />
comment vous avez eu connaissance du nom de la machine distante. Si ce nom vous a été<br />
indiqué dans un courrier électronique, par exemple, vous pourriez commencer par poser la<br />
91
Logiciel d’administration pour IPCOP 1.4.x<br />
question à la personne qui vous a envoyé ce courrier électronique. Si le service informatique<br />
de votre société vous a fourni des sessions PuTTY sauvegardées toutes faites, alors ce même<br />
service informatique peut probablement aussi vous en dire un peu sur les commandes que<br />
vous pouvez/devez taper pendant ces sessions. Quoi qu'il en soit, l'équipe de développement<br />
de PuTTY n'administre aucune des machines auxquelles vous êtes susceptible de vous<br />
connecter, et ne peut donc pas vous aider à ce niveau-là.<br />
VI.3 Comment faire pour que la fenêtre de PuTTY soit agrandie au<br />
maximum dès le départ ?<br />
Créez un raccourci Windows pour lancer PuTTY, et configurez-le pour que l'application<br />
démarre en plein écran ( réglez la propriété 'Exécuter' du raccourci sur 'Agrandie' ).<br />
VI.4 Comment puis-je créer un raccourci Windows pour démarrer<br />
directement une session sauvegardée en particulier ?<br />
Pour lancer une session PuTTY sauvegardée sous le nom 'ma_session', créez un raccourci<br />
Windows qui invoque PuTTY avec une ligne de commande telle que celle-ci :<br />
\chemin\d'accès\à\putty.exe -load "ma_session"<br />
N.B. : avant la version 0.53, la syntaxe était @session. Cette syntaxe est maintenant obsolète,<br />
et il se peut que nous retirions un jour ou l'autre la partie du programme qui assure la<br />
reconnaissance de cette syntaxe.<br />
VI.5 Comment faire pour démarrer une session SSH directement à<br />
partir de la ligne de commande ?<br />
Utilisez la ligne de commande putty -ssh host.name. Vous pouvez aussi créer une session<br />
PuTTY sauvegardée qui indique d'utiliser le protocole SSH, et démarrer la session<br />
sauvegardée comme cela est indiqué dans la question A.6.4.<br />
VI.6 Comment puis-je faire des copier/coller entre PuTTY et<br />
d'autres applications Windows ?<br />
Le copier/coller fonctionne de la même manière dans PuTTY et dans le système X Window.<br />
Utilisez le bouton gauche de la souris pour sélectionner du texte dans la fenêtre de PuTTY. Le<br />
fait de sélectionner copie automatiquement ce texte dans le presse-papiers : il n'y a pas besoin<br />
d'appuyer sur Ctrl-Ins, ou Ctrl-C, ou quoi que ce soit d'autre. Attention, d'ailleurs, si vous<br />
appuyez sur Ctrl-C, cela va envoyer un caractère Ctrl-C à la machine distante, ce qui peut<br />
avoir des effets indésirables. La seule chose que vous ayez à faire, pour copier du texte dans le<br />
presse-papiers, c'est de le sélectionner ( avec le bouton gauche ).<br />
Pour coller le contenu du presse-papiers dans la fenêtre de PuTTY, par défaut, il vous suffit<br />
de cliquer avec le bouton droit. Si vous avez une souris à trois boutons, et que vous avez<br />
l'habitude d'utiliser des applications X, vous pouvez configurer PuTTY pour que le 'coller' se<br />
fasse avec le bouton du milieu, plutôt qu'avec le bouton droit, mais ce n'est pas le<br />
comportement par défaut, parce que la plupart des souris utilisées sur les PC Windows n'ont<br />
que deux boutons.<br />
92
Logiciel d’administration pour IPCOP 1.4.x<br />
Vous pouvez également coller le contenu du presse-papier en appuyant sur Maj-Inser ( Shift-<br />
Ins ).<br />
VI.7 Comment faire pour utiliser dans PSCP, PSFTP et dans Plink,<br />
des fonctionnalités de PuTTY telles que les clés publiques, le<br />
passage par un proxy, ou le choix du chiffrement, etc. ?<br />
La plupart des fonctionnalités principales ( comme par exemple les clés publiques, ou le<br />
transfert de port ) sont disponibles sous forme d'options de ligne de commande. Veuillez<br />
consulter la documentation.<br />
Cela étant, toutes les fonctionnalités ne sont pas encore disponibles à partir de la ligne de<br />
commande, même si cela fait partie de nos objectifs. D'ici là, vous pouvez utiliser la plupart<br />
des fonctionnalités de PuTTY en passant par une session PuTTY sauvegardée, puis en<br />
utilisant le nom de cette session sauvegardée en ligne de commande, à la place du nom de la<br />
machine distante. Cela fonctionne pour PSCP, PSFTP et Plink ( mais n'espérez pas faire du<br />
transfert de port dans les applications de transfert de fichiers ! ).<br />
VI.8 Comment dois-je faire pour utiliser PSCP.EXE ? Lorsque je<br />
double-clique dessus, une fenêtre apparaît et disparaît<br />
instantanément !<br />
PSCP est une application en ligne de commande, pas une application dotée d'une interface<br />
utilisateur graphique. Si vous lancez PSCP sans arguments, l'application affiche simplement<br />
un message d'aide et se termine.<br />
Pour utiliser PSCP correctement, lancez-le à partir d'une invite de commandes ( veuillez vous<br />
reporter au chapitre 5 pour plus de détails ).<br />
VI.9 Comment dois-je faire, avec PSCP, pour copier un fichier dont<br />
le nom comporte des espaces ?<br />
Si PSCP utilise le protocole SCP traditionnel, il faut faire attention, car plusieurs cas se<br />
présentent : si le nom de fichier que vous indiquez correspond à un fichier situé en local, sur<br />
votre PC à vous, alors mettez le nom du fichier entre quotes ( guillemets ), avec une seule<br />
paire de quotes, comme vous le feriez en temps normal :<br />
pscp "nom de fichier local avec des espaces" utilisateur@machine_distante:<br />
pscp utilisateur@machine_distante:nom_de_fichier_distant_sans_espaces "nom<br />
de fichier local avec des espaces"<br />
Par contre, si le nom de fichier correspond à un fichier situé sur la machine distante, il faut<br />
utiliser des barres obliques inverses et deux paires de quotes :<br />
pscp utilisateur@machine_distante:"\"nom de fichier distant avec des<br />
espaces\"" local_filename<br />
pscp nom_de_fichier_local_sans_espaces utilisateur@machine_distante:"\"nom<br />
de fichier distant avec des espaces\""<br />
93
Logiciel d’administration pour IPCOP 1.4.x<br />
Pire encore, dans le cas d'une copie depuis la machine distante vers le PC local, vous devez<br />
indiquer explicitement le nom local du fichier, faute de quoi PSCP va se plaindre que les deux<br />
noms ne correspondent pas ( sauf si vous ajoutez l'option -unsafe ). La commande suivante<br />
donne donc un message d'erreur :<br />
c:\>pscp utilisateur@machine_distante:"\"oo er\"" .<br />
warning: remote host tried to write to a file called 'oo er'<br />
when we requested a file called '"oo er"'.<br />
Pour éviter cela, il faut que vous mettiez le nom local du fichier en entier :<br />
c:\>pscp utilisateur@machine_distante:"\"oo er\"" "oo er"<br />
En revanche, si PSCP utilise le protocole SFTP, plus récent, aucun de ces problèmes ne se<br />
pose, puisqu'il suffit de mettre les noms comportant des espaces entre quotes ( une seule paire<br />
de quotes ), comme on le ferait spontanément :<br />
pscp "fichier local" utilisateur@machine_distante:<br />
pscp utilisateur@machine_distante:"fichier distant" .<br />
VII. Résolution de problèmes<br />
VII.1 Pourquoi est-ce que j'ai le message 'Incorrect MAC received<br />
on packet' ?<br />
L'une des causes possibles d'apparition de ce message, qui était assez répandu, à une époque,<br />
tient à un bug dans les anciens serveurs SSH-2 de ssh.com ( mais ce n'est pas la seule cause<br />
possible, veuillez vous référer à la section 10.11 pour plus d'informations ). Les versions de<br />
leur serveur SSH-2 jusqu'à la 2.3.0 fabriquaient de façon erronée les codes d'authentification<br />
des messages, et attendaient de la part du client SSH qu'il en fasse autant. Par défaut, PuTTY<br />
fabrique correctement ces codes d'authentification, ce qui explique les problèmes rencontrés<br />
par les utilisateurs de PuTTY avec ces anciens serveurs.<br />
Si vous utilisez PuTTY 0.52 ou une version plus récente, tout devrait fonctionner<br />
correctement. En effet, maintenant, PuTTY doit normalement détecter ces anciens serveurs<br />
buggés d'après le numéro de version qu'ils annoncent lors de l'établissement de la connexion,<br />
et à partir de là, il se met à fabriquer les codes d'authentification des messages de la façon<br />
erronée qu'attend l'autre machine, ce qui permet la communication avec ces anciennes<br />
versions de serveurs.<br />
Si vous utilisez encore PuTTY 0.51 ou une version plus ancienne, vous pouvez activer le<br />
contournement de ce bug en allant dans le panneau de configuration SSH, et en cochant la<br />
case intitulée 'Imitate SSH2 MAC bug'. Il se peut que vous deviez faire cela aussi avec la<br />
version 0.52, ou une version plus récente, si jamais le serveur SSH de la machine distante<br />
présente ce bug, mais qu'il n'est pas recensé comme tel dans PuTTY.<br />
Dans ce contexte, les trois lettres MAC signifient Message Authentication Code ( code<br />
d'authentification de message ). C'est un terme utilisé en cryptographie, qui n'a rien à voir<br />
avec les adresses MAC ( dans le contexte d'un réseau Ethernet, MAC signifie Media Access<br />
Control ).<br />
94
Logiciel d’administration pour IPCOP 1.4.x<br />
VII.2 Pourquoi est-ce que j'ai le message 'Fatal: Protocol error:<br />
Expected control record' dans PSCP ?<br />
Ceci se produit parce que PSCP s'attendait à recevoir du serveur des données faisant partie<br />
des échanges liés au protocole PSCP, et qu'au lieu de cela, il a reçu des données qu'il n'a pas<br />
compris, et dont il n'a su que faire. Ce message est presque toujours dû au fait que des scripts<br />
de démarrage associés à votre compte sur la machine distante produisent des sorties qui sont<br />
envoyées via la connexion PSCP au lieu d'être affichées à l'écran de la machine distante. Il est<br />
impossible d'éviter cela, que ce soit pour PSCP ou pour un autre client SCP. Pour bien faire,<br />
vous ne devriez jamais utiliser de scripts de démarrage ( .bashrc, .cshrc, etc. ) qui affichent<br />
des choses pendant les sessions non-interactives.<br />
Ce n'est pas réellement un problème lié à PuTTY. Si PSCP se comporte de cette manière,<br />
alors il y a de bonnes chances que tous les autres clients SCP en fassent autant. Le problème<br />
se situe côté serveur.<br />
VII.3 J'ai cliqué sur une couleur dans le panneau de configuration<br />
'Colours', et la couleur n'a pas changé dans mon terminal.<br />
Il ne faut pas se méprendre sur le rôle de la liste déroulante de couleurs qui figure dans le<br />
panneau de configuration 'Colours', où l'on trouve notamment des couleurs ANSI ( de 'ANSI<br />
Black' jusqu'à 'ANSI White Bold' ).<br />
Par défaut, PuTTY affiche le texte en blanc sur fond noir, mais il ne faut pas croire que la liste<br />
des couleurs du panneau 'Colours' sert à choisir une autre couleur, pour que PuTTY affiche<br />
son texte en vert sur fond noir au lieu de blanc sur fond noir, par exemple ( d'ailleurs, ce n'est<br />
pas du vrai blanc, en réalité, mais du gris clair ). Ces couleurs sont des couleurs 'logiques',<br />
aussi bien les couleurs ANSI que les six premières couleurs de la liste ( de 'Default<br />
Foreground' à 'Cursor Colour' ). Et PuTTY peut toutes les utiliser au cours d'une session,<br />
même si la plupart du temps, il n'en utilise que deux ( les couleurs d'avant-plan et d'arrièreplan<br />
par défaut ).<br />
Le panneau de configuration 'Colours' sert à vous permettre de choisir la nuance de couleur<br />
( la couleur 'réelle' ) associée à chacune de ces couleurs 'logiques'. Pour changer la couleur du<br />
curseur, par exemple, il faut choisir 'Cursor Colour', cliquer sur le bouton 'Modify', et<br />
sélectionner une nouvelle couleur dans la boîte de dialogue qui apparaît à ce moment-là. De la<br />
même manière, si vous voulez que le texte principal de votre session soit affiché en vert,<br />
prenez 'Default Foreground', cliquez sur 'Modify', et choisissez une autre couleur. Mais le<br />
fait de cliquer sur 'ANSI Green' ( autrement dit 'vert ANSI' ) ne va pas faire passer l'affichage<br />
instantanément au vert. Cela vous permet uniquement de choisir la teinte de vert utilisée<br />
lorsque PuTTY reçoit de la machine distante l'ordre d'afficher du texte en vert ANSI.<br />
NdT : les explications d'origine ne me semblaient pas tout à fait limpides, donc je me suis<br />
permis de reformuler ce paragraphe, plutôt que de le traduire simplement. J'espère que l'auteur<br />
de cette partie de la documentation d'origine ne m'en voudra pas...<br />
95
Logiciel d’administration pour IPCOP 1.4.x<br />
VII.4 Sous Windows 95, Plink dit qu'il n'arrive pas à trouver<br />
WS2_32.DLL.<br />
Plink a besoin de la version étendue de la bibliothèque réseau Windows pour fonctionner, la<br />
WinSock version 2. Celle-ci est installée en standard sous Windows 98 et les versions<br />
suivantes, et sous Windows NT, ainsi que sur les dernières versions de Windows 95, mais les<br />
premières versions de Windows 95 ne l'avaient pas.<br />
Pour pouvoir utiliser Plink avec ces versions de Windows, il vous faut télécharger la mise à<br />
jour WinSock 2 :<br />
http://www.microsoft.com/windows95/downloads/contents/wuadmintools/s_wunetw<br />
orkingtools/w95sockets2/<br />
VII.5 Quand j'essaye d'établir une connexion SSH-2, PuTTY me dit<br />
'Out of memory' et plante.<br />
Si cela se produit juste lors de l'établissement de la connexion, c'est souvent l'indication que<br />
pour une raison ou pour une autre, le client et le serveur n'ont pas réussi à se mettre d'accord<br />
sur une clé de cryptage de la session. Ils ont effectués chacun de leur côté des calculs qui<br />
auraient normalement dû leur donner la même clé, mais qui ont donné des résultats différents,<br />
sans que l'on sache pourquoi. Résultat, les données cryptées par l'un et décryptées par l'autre,<br />
ou l'inverse, ne ressemblent à rien d'autre que de la « bouillie ».<br />
Cela provoque une erreur 'Out of memory' ( à court de mémoire ) parce que la première<br />
donnée que PuTTY s'attend à trouver est la longueur du message SSH. Normalement, ce doit<br />
être une valeur inférieure à 100 octets. Si le décryptage échoue, PuTTY se retrouve avec une<br />
longueur de message complètement aléatoire, qui peut aller jusqu'à deux giga-octets, et va<br />
essayer d'allouer suffisament de mémoire pour stocker ce message qui n'existe pas. Cela va<br />
immédiatement lui faire croire qu'il n'a pas pas suffisament de mémoire, et le faire paniquer.<br />
Si cela vous arrive, il est assez probable que ce soit un bug de PuTTY, et vous devriez le<br />
signaler ( bien que cela puisse aussi être un bug dans le serveur SSH ). Mais cela ne veut pas<br />
nécessairement dire que vous êtes réellement à court de mémoire.<br />
VII.6 Quand j'essaye de transférer un fichier avec PSCP ou PSFTP,<br />
le programme me dit 'Out of memory' et plante.<br />
La cause de ce problème est presque toujours liée à un script d'ouverture de session, exécuté<br />
côté serveur, qui affiche du texte ( en fait : qui vous envoie du texte via la connexion, pour<br />
qu'il soit affiché sur votre PC à vous ). PSCP et PSFTP reçoivent ce texte, à un moment où ils<br />
attendaient le début des échanges liés au protocole de transfert de fichiers, et ils essaient de<br />
l'interpréter, alors que ça n'a aucun sens au niveau du protocole. Cela donne généralement lieu<br />
à une erreur 'Out of memory' ( autrement dit « à court de mémoire », ou « mémoire<br />
insuffisante » ) pour quasiment les mêmes raisons que celles expliquées dans la réponse à la<br />
question A.7.5.<br />
96
Logiciel d’administration pour IPCOP 1.4.x<br />
Ceci est un problème de configuration au niveau de votre compte utilisateur sur la machine<br />
distante, ce n'est pas un bug de PSCP ou PSFTP. Vos scripts d'ouverture de session ne<br />
devraient jamais rien afficher pendant des sessions non interactives, et le transfert de fichiers<br />
sécurisé n'est pas le seul genre d'applications qui peut « partir en vrille » dans un cas comme<br />
celui-ci.<br />
Sous Unix, une solution simple consiste à vérifier que toutes les commandes de votre script<br />
d'ouverture de session qui pourraient éventuellement vouloir afficher du texte se trouvent dans<br />
.profile ( si vous utilisez le shell Bourne ou l'une de ses variantes, telle que bash ) ou dans<br />
.login ( si vous utilisez le shell C ). Le fait de placer ces commandes dans des fichiers plus<br />
généraux tels que .bashrc ou .cshrc est susceptible de causer des ennuis.<br />
VII.7 Les transferts de fichiers avec PSFTP sont bien plus lents<br />
qu'avec PSCP.<br />
Le débit de PSFTP devrait être bien meilleur depuis la version 0.54, par rapport à la 0.53b et<br />
aux versions précédentes. Nous avons fait le nécessaire dans SFTP pour qu'il soit possible de<br />
mettre plusieurs blocs de données en file d'attente, plutôt que d'attendre un acquittement pour<br />
chacun d'entre eux ( le client SCP n'avait pas ce problème de performance, parce que le<br />
protocole SCP est bien plus simple que SFTP ).<br />
VII.8 Lorsque j'utilise des applications dont l'affichage est en<br />
couleur, j'ai des zones noires là où il devrait y avoir de la couleur, ou<br />
vice versa.<br />
l faut probablement que vous changiez le réglage 'Use background colour to erase screen'<br />
( [NdT] « Utiliser la couleur d'arrière-plan pour effacer l'écran » ), dans le panneau de<br />
configuration Terminal. S'il y a trop de noir ( ce qui est le plus fréquent ), vous devriez cocher<br />
la case, alors que s'il y a trop de couleurs, vous devriez la décocher ( veuillez vous reporter à<br />
la section 4.3.4 ).<br />
Dans les anciennes versions de PuTTY, ce réglage était désactivé par défaut, et les<br />
changements n'étaient pas pris en compte tant qu'on ne redémarrait pas le terminal<br />
( cf. question A.7.9 ). Depuis la version 0.54, ce réglage est activé par défaut, et les<br />
changements sont pris en compte immédiatement.<br />
VII.9 Lorsque je change certains réglages de mon terminal, rien ne<br />
se passe.<br />
Certaines options de terminal ( notamment 'Auto Wrap' et 'Background-colour screen<br />
erase' ) sont en réalité les réglages par défaut, et non la valeur sélectionnée à un instant<br />
donné. La machine distante peut envoyer des séquences de contrôle qui modifient ces options<br />
en cours de session, mais lorsque le terminal est réinitialisé ( du fait du serveur, ou si vous,<br />
vous choisissez 'Reset Terminal' dans le menu système ), les valeurs par défaut sont<br />
restaurées.<br />
97
Logiciel d’administration pour IPCOP 1.4.x<br />
Dans PuTTY 0.53b et les versions précédentes, si vous changez l'une de ces options en cours<br />
de session, vous constaterez que la modification n'est pas immédiate. Elle ne prend effet que<br />
lorsque vous réinitialisez le terminal.<br />
Depuis la version 0.54, les modifications apportées à ces options prennent effet<br />
immédiatement.<br />
VII.10 Mes sessions PuTTY se ferment toutes seules après une<br />
période d'inactivité.<br />
Certains types de pare-feu, et quasiment tous les routeurs qui font du NAT ( Network Address<br />
Translation = IP masquerading = translation d'adresses réseau ), vont finir par « oublier » une<br />
connexion qui transite par eux, si aucun échange n'a lieu pendant un certain temps. Résultat,<br />
la connexion est interrompue brutalement au rétablissement du contact, lorsqu'il y a à nouveau<br />
des échanges.<br />
Vous pouvez essayer de lutter contre cela en demandant à PuTTY d'envoyer des signes de vie<br />
( des « keepalives » ), autrement dit des paquets de données qui n'ont pas d'effet réel sur la<br />
session, mais qui signalent au routeur ou au pare-feu que la connexion réseau est toujours<br />
active, et qu'il faut en garder trace.<br />
Les signes de vie ne sont toutefois pas LA solution miracle. Bien qu'ils permettent aux<br />
connexions de mieux « résister » à ce genre de routeurs, ils provoquent également une<br />
moindre robustesse contre les pertes de connexion réseau ( veuillez vous reporter à la<br />
section 4.13.1 pour plus d'informations à ce sujet ).<br />
VII.11 Les connexions réseau de PuTTY partent trop rapidement en<br />
'time out' lorsque la liaison réseau est interrompue momentanément.<br />
C'est un problème Windows, pas un problème PuTTY. La valeur du timeout ne peut pas être<br />
réglée application par application, ou session par session. Pour augmenter globalement la<br />
valeur du timeout TCP, il faut aller faire la modification dans la Base de registres.<br />
Sous Windows 95, 98 ou Millenium, la clé de Base de registres que vous devez créer ou<br />
modifier est celle-ci :<br />
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\<br />
MSTCP\MaxDataRetries<br />
Cette clé doit être de type DWORD sous Win95, et de type String sous Win98/ME ( veuillez<br />
vous reporter à l'article 158474 de la base de connaissance Microsoft, la « MS Knowledge<br />
Base » pour plus d'informations à ce sujet ).<br />
Sous Windows NT, 2000, et XP, la clé à créer ou modifier est celle-ci :<br />
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\<br />
Parameters\TcpMaxDataRetransmissions<br />
98
Logiciel d’administration pour IPCOP 1.4.x<br />
et elle doit être de type DWORD ( veuillez vous reporter aux articles 120642 et 314053 de la<br />
« Knowledge Base » pour plus d'informations ).<br />
Donnez à cette clé une valeur de l'ordre de 10. De cette façon, Windows s'efforcera de garder<br />
les connexions ouvertes, au lieu de les abandon<br />
VII.12 Quand je fais cat sur un fichier binaire, j'obtiens<br />
'PuTTYPuTTYPuTTY' à répétition sur ma ligne de commande.<br />
Eh bien, ne le faites pas, alors...<br />
En fait, c'est un comportement tout à fait normal : lorsque PuTTY reçoit le caractère Control-<br />
E de la machine distante, il l'interprète comme une demande d'identification, et c'est pour cela<br />
qu'il renvoie la chaîne 'PuTTY', comme si cette chaîne avait été tapée au clavier. Le caractère<br />
Control-E ne devrait normalement être émis que par les programmes qui sauront quoi faire de<br />
la réponse. Il est probable que le fait d'afficher un fichier binaire sur votre terminal va<br />
provoquer l'apparition de nombreux caractères Control-E, et induire ce résultat. Alors ne le<br />
faites pas, ce n'est pas une bonne idée.<br />
Pour limiter les effets indésirables, vous pourriez faire en sorte que la chaîne renvoyée en<br />
réponse au caractère Control-E soit la chaîne vide ( pour plus d'infos à ce sujet, veuillez vous<br />
reporter à la section 4.3.6 ), mais il est probable que le fait de faire afficher des fichiers<br />
binaires sur votre terminal provoquera d'autres résultats déplaisants, donc ce n'est qu'un pisaller.<br />
VII.13 Quand je fais cat sur un fichier binaire, le titre de la<br />
fenêtre se met à afficher n'importe quoi.<br />
Eh bien, ne le faites pas, alors...<br />
PuTTY se doit de savoir modifier le titre de sa fenêtre en réponse à des instructions reçues de<br />
la machine distante. Normalement, la séquence de caractères de contrôle qui provoque ce<br />
résultat ne devrait être émise que volontairement, par des programmes qui savent ce qu'ils<br />
font et qui souhaitent réellement modifier le titre de la fenêtre du terminal. Le fait de faire<br />
afficher des fichiers binaires sur votre terminal induit le risque que cette même séquence de<br />
contrôle soit émise par accident, et provoque des modifications inattendues dans le titre de la<br />
fenêtre. Ne le faites pas.<br />
99
Logiciel d’administration pour IPCOP 1.4.x<br />
VII.14 Mon clavier cesse de fonctionner à partir du moment où<br />
PuTTY affiche l'invite 'Password:' pour que je tape mon mot de<br />
passe.<br />
Rassurez-vous, votre clavier va très bien : c'est juste que PuTTY n'affiche strictement rien<br />
quand vous tapez un mot de passe, même pas des étoiles ou des petits ronds noirs,<br />
contrairement à ce qui se passe quand vous ouvrez votre session Windows. Comme cela, si<br />
quelqu'un regarde par dessus votre épaule, il ne pourra rien voir, même pas le nombre de<br />
caractères qu'il y a dans votre mot de passe, ce qui serait une information intéressante pour<br />
quelqu'un de mal intentionné.<br />
VII.15 Quand j'utilise une application qui tourne sur la machine<br />
distante, certaines touches de fonction de mon clavier ne font pas<br />
ce que je voudrais.<br />
Si vous avez déjà essayé toutes les options appropriées dans le panneau de configuration<br />
'Keyboard' de PuTTY, il se peut que vous ayez besoin d'envoyer un e-mail aux mainteneurs<br />
de PuTTY et de leur soumettre votre problème.<br />
Il n'est généralement pas utile de nous dire juste quelle application pose problème, avec quel<br />
système d'exploitation côté serveur, et quelle est la touche qui ne fonctionne pas comme vous<br />
le voudriez. Pour que nous puissions reproduire le problème, il faudrait que nous ayons un<br />
exemplaire de chacun des systèmes d'exploitation, et de chacune des applications, au sujet<br />
desquels quelqu'un s'est plaint ne serait-ce qu'une fois.<br />
PuTTY réagit à l'appui sur les touches de fonction en envoyant une séquence de caractères de<br />
contrôle à la machine distante. Si une touche de fonction ne fait pas ce que vous voudriez<br />
qu'elle fasse, il y a des chances que la séquence de caractères que votre application s'attend à<br />
recevoir ne soit pas la même que celle que PuTTY lui envoie. Par conséquent, ce que nous<br />
avons réellement besoin de savoir, c'est quelle séquence l'application attend.<br />
La façon la plus simple d'enquêter à ce sujet, c'est de trouver un autre environnement de<br />
terminal, dans lequel cette touche de fonction fait effectivement ce que vous en attendez, et<br />
partant de là, de chercher quelle séquence de caractères la touche de fonction émet dans cette<br />
situation. Une façon raisonnablement facile de faire cela, sur un système Unix, consiste à<br />
taper la commande cat, puis à appuyer sur la touche de fonction en question. Il y a des<br />
chances que cela donne quelque chose du genre ^[[11~. Vous pouvez faire pareil dans<br />
PuTTY, et voir ainsi quelle séquence de caractères la touche de fonction génère, pour<br />
comparer. Une fois que c'est fait, vous pouvez envoyer un mail aux mainteneurs de PuTTY, et<br />
nous dire ( en anglais, SVP ) « Je voudrais que la touche F1 ( par exemple ) envoie ^[[11~, et<br />
au lieu de ça, elle envoie ^[OP, pouvez-vous jeter un coup d'oeil, SVP ? » ( « I wanted the F1<br />
key to send ^[[11~, but instead it's sending ^[OP, can this be done, please? » ). Ou quelque<br />
chose dans ce genre.<br />
Vous devriez quand même lire la page Feedback du site web de PuTTY ( qui figure aussi dans<br />
l'annexe B de cette documentation ), et suivre les indications qui y sont données.<br />
100
Logiciel d’administration pour IPCOP 1.4.x<br />
VII.16 Depuis que le serveur SSH de la machine distante a été mis à<br />
jour en OpenSSH 3.1p1 / 3.4p1, je ne peux plus m'y connecter avec<br />
PuTTY.<br />
Il y a un problème connu qui se pose lorsque OpenSSH a été compilé avec une version<br />
incorrecte de OpenSSL. Un contournement rapide à ce problème consiste à configurer PuTTY<br />
pour qu'il utiliser la version 2 du protocole SSH et le cryptage Blowfish.<br />
Ce n'est pas un problème spécifique à PuTTY. Si vous essayez de vous connecter à la<br />
machine distante avec un autre client SSH, vous rencontrerez des problèmes similaires ( bien<br />
que le cryptage par défaut de PuTTY diffère de celui de nombreux autres clients ).<br />
Les configurations suivantes de OpenSSH 3.1p1 sont connues pour poser des problèmes, et<br />
voici quels en sont les symptômes :<br />
• SSH-2 avec cryptage AES ( PuTTY dit 'Assertion failed! Expression: (len & 15) ==<br />
0' dans sshaes.c, ou 'Out of memory', ou plante )<br />
• SSH-2 avec cryptage 3DES ( PuTTY dit 'Incorrect MAC received on packet' )<br />
• SSH-1 avec cryptage Blowfish ( PuTTY dit 'Incorrect CRC received on packet' )<br />
• SSH-1 avec cryptage 3DES<br />
À partir de la version OpenSSH 3.4p1, seul le problème avec SSH-1 et Blowfish demeure.<br />
Recompilez votre serveur, appliquez le correctif correspondant au bug 138 ci-dessus, ou<br />
utilisez un autre cryptage, comme 3DES, par exemple.<br />
En ce qui concerne les autres versions, on nous signale de temps à autre que les mêmes<br />
symptômes se manifestent avec des versions plus anciennes de OpenSSH, et que les mêmes<br />
contournements s'appliquent, mais il n'est pas établi que la cause sous-jacente soit<br />
effectivement la même.<br />
VII.17 Pourquoi est-ce que j'ai le message 'Couldn't load private key<br />
from ...' ? Pourquoi PuTTY n'arrive-t-il pas à charger ma clé, alors<br />
que PuTTYgen y arrive bien, lui ?<br />
l est probable que vous avez généré une clé correspondant à la version 2 du protocole SSH<br />
avec PuTTYgen, mais que vous essayez de l'utiliser dans une connexion SSH-1. Les clés<br />
SSH-1 et SSH-2 ont des formats différents, et ( au moins dans la version 0.52 ) la façon dont<br />
PuTTY signale que la clé n'est pas dans le bon format n'est pas optimale.<br />
Pour vous connecter avec SSH-2 à un serveur qui accepte les deux versions, il faut que vous<br />
le sélectionniez explicitement ( champ 'Prefered SSH protocol version' dans le panneau de<br />
configuration 'SSH' ).<br />
101
Logiciel d’administration pour IPCOP 1.4.x<br />
VII.18 Quand je suis connecté à une machine en Linux Red Hat 8.0,<br />
certains caractères ne s'affichent pas correctement.<br />
On nous signale fréquemment que les tirets et autres traits d'union des pages de manuel Unix<br />
sont remplacés à l'affichage par des a accent aïgu ( á ).<br />
Au moment de la sortie de la version 8.0, Red Hat semble avoir fait d'UTF-8 le jeu de<br />
caractères par défaut, mais les émulateurs de terminal tels que PuTTY n'ont pas de moyen de<br />
le savoir ( pour autant que nous le sachions, la séquence d'échapement qui sert à passer en<br />
mode UTF-8 n'est pas émise ).<br />
Une solution consiste à configurer les sessions de connexion à des machines RH8 pour<br />
qu'elles utilisent la traduction UTF-8 ( cf. section 4.10.1 ). Notez que si vous utilisez 'Change<br />
Settings', les modifications peuvent ne pas être effectives immédiatement - voir à ce sujet la<br />
question A.7.9.<br />
Si vous voulez vraiment changer le jeu de caractères utilisé par la machine distante, c'est dans<br />
/etc/sysconfig/i18n qu'il faut aller, mais cela ne devrait pas être nécessaire.<br />
VII.19 Depuis que je suis passé à la version 0.54, le défilement en<br />
arrière ne fonctionne plus lorsque j'utilise screen.<br />
L'émulateur de terminal de PuTTY a toujours eu pour principe de ne rien ajouter au tampon<br />
de défilement arrière lorsque l'écran secondaire ( cf. [NdT] ci-dessous ) est en cours<br />
d'utilisation, parce que les programmes qui se servent habituellement de l'écran secondaire<br />
sont des programmes du genre éditeur de texte, qui ont tendance à user et abuser du<br />
défilement, dans un sens et dans l'autre, au sein d'un même document. Non seulement, si on<br />
les laissait faire, ils rempliraient rapidement le tampon de défilement arrière avec de grandes<br />
quantités de texte inutile et désordonné, mais en plus, ils contiennent leur propre méthode<br />
pour permettre à l'utilisateur d'atteindre un endroit précis dans le document. Nous avons donc<br />
décidé, par expérience, que c'était LA bonne chose à faire dans quasiment toutes les<br />
situations.<br />
[NdT] : l'écran secondaire dont il est question ici est une zone réservée, à l'intérieur de la<br />
mémoire de l'ordinateur, qui permet d'avoir le contenu de deux écrans, présents en mémoire<br />
en même temps, et de passer instantanément de l'un à l'autre : absolument rien à voir avec les<br />
cartes graphiques récentes, qui sont capables de gérer deux moniteurs à la fois.<br />
Malheureusement, screen est en quelque sorte l'exception qui confirme la règle, puisqu'il<br />
utilise l'écran secondaire, mais que pendant l'utilisation de screen, il est quand même utile<br />
que le défilement arrière de PuTTY continue de fonctionner. La solution la plus simple<br />
consiste à aller dans le panneau de configuration 'Features', et à cocher la case 'Disable<br />
switching to alternate terminal screen' ( autrement dit : désactiver le basculement vers<br />
l'écran secondaire ). Veuillez vous reporter à la section 4.6.4 pour plus de détails. Autre<br />
solution, vous pouvez dire à screen lui-même de ne pas utiliser l'écran secondaire. La Foire<br />
102
Logiciel d’administration pour IPCOP 1.4.x<br />
Aux Questions de screen suggère d'ajouter la ligne 'termcapinfo xterm ti@:te@' à votre<br />
fichier .screenrc.<br />
Si cela ne pose problème que depuis la version 0.54 de PuTTY, c'est parce que screen utilise<br />
une séquence de contrôle inhabituelle pour basculer vers l'écran secondaire, et que les<br />
versions de PuTTY antérieures à la 0.54 ne reconnaissaient pas cette séquence.<br />
VII.20 Depuis que je suis passé en Windows XP Service Pack 2, je<br />
ne peux plus utiliser des adresses comme 127.0.0.2.<br />
Certaines personnes qui demandent à PuTTY d'écouter sur des adresses de type 'localhost'<br />
autres que 127.0.0.1, pour faire transiter des services tels que SMB et Windows Terminal<br />
Services, ont découvert que cela ne fonctionne plus après avoir installé le Service Pack 2 de<br />
Windows XP.<br />
Il semble que ce soit un problème lié au SP2 dont Microsoft fait état dans l'article 884020 de<br />
la base de connaissance Microsoft ( MS Knowledge Base ). L'article comporte un lien qui<br />
permet de télécharger un correctif.<br />
Ceci dit, nous avons également entendu dire que le Service Pack 2 corrigeait aussi le bug qui<br />
rendait nécessaire le recours à des adresses 'loopback' autres que 127.0.0.1 pour faire<br />
transiter les connexions Terminal Services.<br />
VII.21 On dirait qu'il manque un séparateur de répertoires ( un<br />
slash ) aux commandes PSFTP.<br />
Certaines personnes ont signalé le comportement suivant de PSFTP, qui est incorrect :<br />
psftp> pwd<br />
Remote directory is /dir1/dir2<br />
psftp> get filename.ext<br />
/dir1/dir2filename.ext: no such file or directory<br />
Ceci n'est pas un bug dans PSFTP. Il y a un bug connu dans certaines versions de la variante<br />
portable de OpenSSH ( bug 697 ) qui provoque ces symptômes. Il semblerait que ce bug ait<br />
été introduit aux alentours de la version 3.7.x. Il ne se manifeste que sur certaines platesformes<br />
( on nous l'a signalé sous AIX ).<br />
Il y a un correctif pour OpenSSH correspondant à ce bug. Il est également résolu dans les<br />
versions récentes de la variante portable de OpenSSH ( depuis aux alentours de la version<br />
3.8 ).<br />
VII.22 Vous voulez que je vous raconte celle du message 'Software<br />
caused connection abort' ?<br />
Dans la documentation des versions 0.53 et 0.53b de PuTTY, nous disions que nous<br />
aimerions être tenus au courant quand cette erreur se produit. Depuis la sortie de PuTTY 0.54,<br />
cependant, nous sommes convaincus que cette erreur n'est pas révélatrice d'un mauvais<br />
103
Logiciel d’administration pour IPCOP 1.4.x<br />
fonctionnement de PuTTY, et il n'est plus utile de nous signaler cette erreur si vous la<br />
rencontrez. Veuillez vous reporter à la section 10.14 pour des informations à jour au sujet de<br />
cette erreur.<br />
VII.23 Ma session SSH-2 se bloque pendant quelques secondes de<br />
temps à autre.<br />
Les versions récentes de PuTTY lancent automatiquement un renouvellement des clés une<br />
fois toutes les heures, pour augmenter la sécurité de la session. Si l'une des deux machines,<br />
votre PC ou la machine distante, est un peu lent, il se peut que cela vous donne l'impression<br />
d'un blocage d'environ une trentaine de secondes ( maximum ).<br />
Ces délais sont malcommodes, c'est vrai, mais ils sont là pour votre protection. Si cela vous<br />
cause vraiment un problème, vous pouvez désactiver volontairement le renouvellement<br />
périodique des clés, en allant dans le panneau de configuration 'Kex' ( voir à ce sujet la<br />
section 4.19 ), mais soyez bien conscient que c'est au détriment de la sécurité ( revenir à SSH-<br />
1 aurait aussi pour effet de supprimer ces délais, mais cela serait encore bien plus gênant en<br />
termes de sécurité ). Nous ne le recommandons pas.<br />
VII.24 PuTTY ne se lance pas. Windows me dit que la configuration<br />
de l'application est incorrecte.<br />
C'est dû à un bug de certaines versions de Windows XP, qui se manifeste dans PuTTY 0.58.<br />
Le problème a été corrigé dans la version 0.59. Pour plus de détails à ce sujet, veuillez<br />
consulter l'entrée ‘xp-wont-run’ dans la page des desiderata de PuTTY.<br />
VIII. Questions liées à la sécurité<br />
VIII.1 Est-ce prudent de ma part de télécharger et d'utiliser<br />
PuTTY sur un PC en libre accès ?<br />
Tout dépend si vous pensez pouvoir utiliser ce PC en toute confiance, ou non. Si vous n'avez<br />
pas confiance dans un PC, alors il ne faut utiliser dessus ni PuTTY, ni aucun autre logiciel<br />
dans lequel vous pouvez avoir besoin de taper des mots de passe. Il se peut qu'un enregistreur<br />
de frappes clavier ( un keylogger ) soit installé dessus, ou que "quelque chose" vienne<br />
modifier le binaire de PuTTY que vous téléchargez. Il n'existe aucun programme<br />
informatique qui soit suffisament sûr pour que vous puissiez l'utiliser et taper des mots de<br />
passe dedans en toute confiance, s'il est installé sur un PC qui a été compromis par des<br />
programmes mal intentionnés.<br />
Si vous pensez pouvoir utiliser le PC en confiance, alors vous pouvez sans doute utiliser<br />
PuTTY dessus sans problème ( mais si vous craignez que le réseau lui-même ne soit<br />
compromis, et donc que le binaire de PuTTY que vous téléchargez ne risque d'avoir été<br />
modifié par une personne mal intentionnée, alors il vaut sans doute mieux amener votre<br />
propre exemplaire de PuTTY sur une disquette ou une clé USB ).<br />
104
Logiciel d’administration pour IPCOP 1.4.x<br />
VIII.2 PuTTY laisse-t-il « des choses » sur le PC ? Comment puis-je<br />
faire le ménage après utilisation ?<br />
PuTTY laisse quelques entrées dans la Base de registres, et un fichier graine pour le<br />
générateur de nombres pseudo-aléatoires ( cf. question A.5.2 ). Si vous utilisez PuTTY sur un<br />
PC public, ou sur la machine de quelqu'un d'autre, c'est une bonne idée de les effacer une fois<br />
que vous avez fini. Vous pouvez le faire automatiquement, en lançant la commande putty -<br />
cleanup ( N.B. : sur un système multi-utilisateurs, cela n'enlève ce fichier et ces entrées de<br />
Base de registres que pour l'utilisateur courant ).<br />
Si PuTTY a été installé avec le programme d'installation, il apparaît également dans la liste<br />
'Ajout/Suppression de programmes'. Les versions anciennes du désinstalleur ne suppriment<br />
pas ce fichier et ces entrées de Base de registres.<br />
VIII.3 Comment se fait-il que PuTTY supporte maintenant le DSA,<br />
alors que le site web a dit pendant longtemps à quel point ce<br />
protocole est peu sûr ?<br />
DSA présente un défaut de sécurité majeur s'il est mal implémenté : son fonctionnement est<br />
beaucoup trop dépendant du générateur de nombres pseudo-aléatoires. Si ce générateur de<br />
nombres pseudo-alétoires produit des séquences de nombres qu'un attaquant peut réussir à<br />
prédire, alors la clé privée DSA est en danger - cela signifie que le pirate peut potentiellement<br />
se faire passer pour vous sur tous les systèmes qui acceptent cette clé.<br />
Nous avons changé d'avis au sujet du cryptage DSA lorsque nous avons appris qu'il existait<br />
des moyens de l'implémenter, qui ne présentent pas ces défaut de sécurité, et qui ne reposent<br />
d'ailleurs pas du tout sur des nombres pseudo-alétoires. C'est la raison pour laquelle nous<br />
pensons que le cryptage DSA, tel qu'il est implémenté dans PuTTY, peut être utilisé sans<br />
crainte. Cependant, si vous en avez la possibilité, nous vous recommandons d'utiliser plutôt le<br />
cryptage RSA.<br />
VIII.4 Pageant ne pourrait-il pas utiliser VirtualLock() pour<br />
empêcher les clés privées d'être écrites sur le disque ?<br />
Malheureusement non. La fonction VirtualLock() de l'API Windows ne convient pas pour<br />
cela : elle peut effectivement empêcher que de petites parties de la mémoire allouée à un<br />
processus ne soient 'swappées' sur le disque dur pendant que le processus est actif, mais elle<br />
n'empêche pas que la totalité de la mémoire allouée au processus ne soit 'swappée' sur le<br />
disque lorsque le processus reste longtemps inactif. Et Pageant passe le plus clair de son<br />
temps à ne rien faire.<br />
105
IX. Questions d'ordre administratif<br />
Logiciel d’administration pour IPCOP 1.4.x<br />
IX.1 Voulez-vous que je vous réserve un nom de domaine un peu plus<br />
sympa, comme www.putty.com, ou www.putty.org ?<br />
C'est gentil de proposer, mais non, merci. Même si vous arriviez à en trouver un ( la plupart<br />
d'entre eux semblent avoir déjà été réservés, par des gens qui ne nous ont pas demandé si nous<br />
les voulions ), l'adresse actuelle du site de PuTTY nous convient très bien comme elle est.<br />
Elle n'est pas difficile à trouver ( il suffit de taper 'putty' dans Google, nous sommes le<br />
premier résultat renvoyé ), et nous ne sommes pas convaincus que le travail administratif que<br />
cela nous demanderait pour déplacer le site en vaille la peine.<br />
De plus, même si nous voulions un nom de domaine personnalisé, nous voudrions le gérer<br />
nous-mêmes, de façon à pouvoir être sûrs qu'il pointe bien toujours là où nous voulons qu'il<br />
pointe, et qu'il ne risque pas de changer subitement, ou de faire des choses bizarres dans ce<br />
genre-là. Faire enregistrer notre nom de domaine par une tierce personne, qui ferait cela pour<br />
nous alors que nous ne connaissons même pas cette personne, n'est sans doute pas la<br />
IX.2 Seriez-vous intéressés par de l'hébergement gratuit pour le<br />
site web de PuTTY ?<br />
Merci, mais le site de PuTTY est déjà hébergé gratuitement.<br />
IX.3 Seriez-vous d'accord pour mettre sur le site de PuTTY un lien<br />
qui pointe vers mon site à moi ?<br />
Uniquement si le contenu de votre site présente un intérêt évident pour les utilisateurs de<br />
PuTTY. Si son contenu n'a rien à voir avec PuTTY, ou seulement de loin, alors le lien que<br />
vous nous demandez serait tout simplement de la pub pour votre site.<br />
L'un des bons côtés du mécanisme de classement de Google ( le "pagerank" ), c'est que les<br />
sites les plus populaires obtiennent les meilleurs classements, de loin. Cela veut dire que<br />
quand une personne ordinaire fait une recherche ( par "personne ordinaire", nous voulons dire<br />
"pas quelqu'un qui connaît à fond les moteurs de recherche, et qui sait comment influer sur les<br />
résultats" ), le site qui apparaît tout en haut, dans les résultats, a de grandes chances d'être un<br />
site de grande qualité, ou le site que cherche effectivement la personne, plutôt qu'un site qui a<br />
dépensé plein d'argent pour obtenir un bon classement.<br />
Le site web de PuTTY est tenu en haute estime par Google, précisément pour cette raison :<br />
beaucoup de gens ont fait pointer des liens vers ce site, simplement parce qu'ils apprécient<br />
PuTTY, sans que nous leur ayons jamais demandé quoi que ce soit. Nous considérons que ce<br />
serait abuser de cette estime que de l'utiliser pour améliorer le classement Google des sites de<br />
tel ou tel annonceur. Si vous voulez que votre site web ait un aussi bon classement Google<br />
que le nôtre, faites plutôt comme nous : soyez assez bons dans votre domaine pour que les<br />
gens mettent d'eux-mêmes des liens qui pointent chez vous, simplement parce qu'ils vous<br />
apprécient.<br />
106
Logiciel d’administration pour IPCOP 1.4.x<br />
En particulier, cela ne nous intéresse pas de mettre en place des liens pour de l'argent ( cf. cidessus<br />
), et encore moins de mettre en place des liens en échange d'autres liens ( dans la<br />
mesure où il n'y a pas de publicités sur notre site, notre classement chez Google ne présente<br />
même pas d'intérêt direct à nos yeux ). Si nous ne voulons pas mettre sur notre site de liens<br />
pointant sur le vôtre à titre gratuit, alors il est probable que nous n'avons pas envie d'en mettre<br />
du tout, indépendamment de toute histoire d'argent.<br />
Si l'un de vos logiciels est basé sur PuTTY, ou conçu spécifiquement pour interagir avec<br />
PuTTY, ou qu'il présente d'une façon ou d'une autre un réel intérêt pour les utilisateurs de<br />
PuTTY, alors nous ajouterons sans doute volontiers un lien pointant chez vous sur notre page<br />
'Links'. Et si vous avez un miroir du site web de PuTTY, alors là, oui, cela nous intéresse.<br />
IX.4 Pourquoi ne mettez-vous pas PuTTY sur SourceForge ?<br />
En partie parce que nous ne voulons pas changer l'adresse du site ( cf. question A.9.1 ). Mais<br />
ce n'est pas la seule raison.<br />
C'est aussi pour des raisons de sécurité. PuTTY est un logiciel qui a trait à la sécurité, et en<br />
tant que tel, il est particulièrement important de protéger le code et le site contre toute<br />
modification non autorisée, qui risquerait d'introduire de subtiles failles de sécurité. En<br />
conséquence, nous préférons que le référentiel Subversion, le site web et le site FTP restent là<br />
où ils sont, sous le contrôle direct <strong>d'administ</strong>rateurs système que nous connaissons<br />
personnellement et en qui nous avons confiance, plutôt que les faire administrer par une<br />
grande organisation pleine de gens que nous n'avons jamais rencontrés, et dont on sait qu'elle<br />
a reçu plusieurs fois la visite de pirates, par le passé. Que les gens de SourceForge ne le<br />
prennent pas mal. Je pense qu'ils font un boulot super. Mais leur système d'hébergement ne<br />
peut pas convenir pour tout le monde, et en particulier, il ne convient pas dans notre cas.<br />
IX.5 Pourquoi est-ce que je n'arrive pas à m'inscrire à la liste de<br />
diffusion 'putty-bugs' ?<br />
Parce que vous ne faites pas partie de l'équipe de développement de PuTTY. La liste de<br />
diffusion 'putty-bugs' n'est pas un forum de discussion façon newsgroup. C'est une adresse de<br />
contact pour les développeurs qui sont au coeur de PuTTY, et une liste de diffusion à usage<br />
interne pour que nous puissions discuter entre nous de choses et d'autres. Si nous l'ouvrions à<br />
tout un chacun, cela deviendrait quelque chose comme un newsgroup, et nous serions<br />
complètement dépassés par le volume des échanges. Nous avons déjà bien assez de mal pour<br />
suivre les discussions sur la liste telle qu'elle est.<br />
IX.6 Si 'putty-bugs' n'est pas une liste de diffusion publique, estce<br />
qu'il en existe une ?<br />
À notre connaissance, il n'y en a pas. Si quelqu'un veut mettre en place une liste de diffusion,<br />
ou un forum de discussion, pour que les utilisateurs de PuTTY puissent s'entraider, cela ne<br />
nous pose aucun problème. L'équipe de PuTTY n'aura toutefois sans doute pas le temps de la<br />
lire. Il vaut sans doute mieux utiliser l'un des groupes de discussion qui existent déjà pour cela<br />
( cf. section B.1.2 ).<br />
107
Logiciel d’administration pour IPCOP 1.4.x<br />
IX.7 Comment est-ce que je peux faire un don à l'équipe de<br />
développement de PuTTY ?<br />
S'il vous plaît, ne vous croyez pas obligé de le faire. Vraiment. PuTTY est gratuit, ce n'est pas<br />
un shareware ( un "partagiciel", en bon français ). Nous estimons qu'il est très important que<br />
quiconque souhaite utiliser PuTTY puisse le faire, que cette personne ait de l'argent ou non.<br />
Nous ne souhaitons vraiment pas qu'un utilisateur de PuTTY se sente coupable de ne pas nous<br />
avoir payé quoi que ce soit. Si vous voulez garder votre argent, il n'y a pas de problème,<br />
gardez-le. Ce n'est pas là notre motivation.<br />
Bon, ceci étant dit, si vous voulez quand même nous donner de l'argent, ce n'est pas un<br />
problème non plus :-) Le plus commode pour nous, c'est si vous envoyez de l'argent à<br />
via PayPal ( www.paypal.com ). Une autre possibilité, si vous n'avez<br />
pas confiance en PayPal, consiste à passer par e-gold ( www.e-gold.com ) : déposez votre don<br />
sur le compte n°174769, puis envoyez-nous un mail pour nous avertir, parce que sinon, il<br />
risque de se passer plusieurs mois sans qu'on ne remarque quoi que ce soit.<br />
Les petites sommes ( quelques dizaines de dollars ou d'euros ) seront probablement dépensées<br />
en bière ou en bouffe indienne, histoire de motiver les troupes. Les dons plus importants<br />
seront utilisés acheter quelque chose qui fasse réellement avancer le schmilblick, si nous<br />
réussissons à trouver une idée ( peut-être du nouveau matériel, ou un exemplaire de Windows<br />
XP ). Et si nous ne trouvons pas d'idée, alors l'argent sera sans doute distribué entre les<br />
développeurs. Si vous voulez être sûr que votre don sera utilisé à quelque chose d'utile,<br />
parlez-nous en avant. Si ce mode de fonctionnement ne vous convient pas, eh bien, ne faites<br />
pas de don, ce n'est pas un souci.<br />
IX.8 Est-ce que je peux mettre PuTTY dans un CD ou un DVD offert<br />
avec un magazine, ou le distribuer conjointement avec d'autres<br />
logiciels ?<br />
Oui. Pour ce genre de choses, vous n'avez pas besoin de vous embêter à demander notre<br />
permission explicite. Notre licence vous donne déjà la permission de le faire.<br />
Veuillez vous reporter à la section B.7 pour plus d'informations à ce sujet.<br />
Non !<br />
IX.9 Pouvez-vous nous garantir par écrit contre d'éventuels<br />
problèmes de sécurité dans PuTTY ?<br />
Un marchand de produits de sécurité physiques, matériels, concrets, tels que des verrous, des<br />
cadenas, ou des antivols, pourrait logiquement accepter une responsabilité financière si jamais<br />
l'un de ses produits ne s'avérait pas conforme à ce qui est écrit sur l'emballage, ou à ce qui<br />
108
Logiciel d’administration pour IPCOP 1.4.x<br />
figure dans une publicité, et qu'il en résulte un tort causé à des utilisateurs de ce produit ( des<br />
affaires volées, par exemple ). Il pourrait se le permettre parce qu'il vend un grand nombre<br />
d'exemplaires de chacun de ses produits, et que sur la quantité, il y a de bonnes chances que<br />
seuls un petit nombre d'entre eux s'avère défectueux. Il pourrait donc supporter cette<br />
responsabilité financière, tout en ayant de bonnes chances de rester bénéficiaire, de par le<br />
reste de ses ventes. La responsabilité financière est intrinsèquement liée au fait de vendre un<br />
produit contre de l'argent.<br />
Il y a deux raisons qui font que PuTTY n'est pas comparable à un cadenas ou à un verrou,<br />
dans ce contexte. La première, c'est que les logiciels ne présentent pas de variations<br />
aléatoires : quand PuTTY a un trou de sécurité ( ce qui arrive parfois, bien que nous fassions<br />
de notre mieux pour l'éviter, et pour réagir au plus vite lorsque cela se produit ), chaque<br />
exemplaire de PuTTY a ce même trou, et tous les utilisateurs de PuTTY risquent alors de se<br />
trouver affectés en même temps. Donc même si les gens nous payaient pour pouvoir utiliser<br />
PuTTY, nous ne pourrions pas leur verser, à tous en même temps, une compensation<br />
financière qui aille au delà du prix qu'ils nous auraient versé à l'origine. Ce ne serait pas<br />
possible.<br />
L'autre raison, encore plus importante, c'est que les utilisateurs de PuTTY ne nous payent pas.<br />
L'équipe de PuTTY ne retire pas de revenu de cette activité de développement. PuTTY résulte<br />
de l'effort conjoint de personnes qui consacrent leur temps libre à essayer d'écrire des logiciels<br />
utiles. Nous ne sommes pas une société, nous n'avons aucune forme de structure qui soit<br />
reconnue sur le plan légal, comme une organisation ou une association. Nous sommes juste un<br />
groupe de gens qui bricolons pendant notre temps libre.<br />
C'est pourquoi nous demander d'assumer une responsabilité financière quant aux éventuels<br />
défauts de PuTTY reviendrait pour nous à prendre le risque d'avoir à payer cette<br />
compensation de notre poche, en prenant sur notre argent personnel, le même qui nous sert à<br />
nous acheter à manger, à nous habiller, et à payer le loyer. C'est plus que ce que nous sommes<br />
prêts à donner. Nous consacrons déjà une grande part de notre temps libre à développer des<br />
logiciels sans que cela ne nous rapporte un kopeck, alors s'il fallait en plus qu'on paye de notre<br />
poche pour le faire, il y aurait de quoi se demander à quoi bon...<br />
Le logiciel libre ne repose fondamentalement pas sur la base de garanties financières. La seule<br />
assurance que vous ayez, comme quoi le logiciel fonctionne correctement, c'est que le code<br />
source est librement disponible, et que vous pouvez le vérifier avant d'utiliser le logiciel. Si<br />
vous voulez être sûr qu'il n'y a pas de trous de sécurité, soumettez le code source de PuTTY à<br />
un audit sécurité, ou embauchez un ingénieur sécurité pour le faire à votre place si vous<br />
n'avez pas vous-même les compétences requises. Plutôt que de chercher à vous assurer une<br />
compensation financière en cas de problème, essayez donc de commencer par vous assurer<br />
qu'il n'y a pas de problème.<br />
Si vous voulez vraiment une garantie financière, voyez si vous pouvez trouver un ingénieur<br />
sécurité qui accepte de se porter garant - financièrement parlant - de la validité de son audit. À<br />
défaut, voyez si vous pouvez convaincre une compagnie d'assurances de vous garantir contre<br />
des incidents de sécurité, et si l'assureur l'exige, faites auditer notre code par un ingénieur<br />
sécurité agréé par cet assureur<br />
IX.10 Pouvez-vous nous accorder par écrit la permission d'utiliser<br />
et de redistribuer PuTTY ?<br />
Si le papier que vous voudriez nous faire signer comporte une phrase du genre « Je,<br />
soussigné, [...], certifie et garantie que [...] », alors nous ne le signerons pas. Ceci est tout<br />
particulièrement vrai s'il s'agit pour nous de garantir que PuTTY est sûr ( veuillez vous<br />
109
Logiciel d’administration pour IPCOP 1.4.x<br />
reporter à la question A.9.9 pour plus d'informations à ce sujet ). Mais en fait, peu importe ce<br />
que nous sommes censés garantir : même s'il s'agit de quelque chose dont nous sommes<br />
profondément convaincus, comme le fait que PuTTY ne viole aucun copyright tiers, nous ne<br />
signerons aucun document qui entraînerait une responsabilité légale ou financière. Tout<br />
simplement parce que le projet de développement de PuTTY n'a pas de revenus qui lui<br />
permettraient d'assurer cette responsabilité, ou de payer les frais de justice, si jamais il devait<br />
y en avoir besoin. Nous ne pouvons pas nous permettre d'être poursuivis en justice. Nous vous<br />
promettons que nous avons fait de notre mieux. Si cela ne vous suffit pas, eh bien tant pis<br />
pour vous.<br />
La licence de PuTTY vous accorde d'ores et déjà, de façon très permissive, le droit d'utiliser et<br />
de distribuer PuTTY. Il faut juste ne pas chercher à faire croire que c'est vous qui avez écrit le<br />
logiciel, ni nous intenter un procès en cas de problème. Nous estimons que cela devrait<br />
suffire.<br />
Veuillez consulter la réponse à la question A.9.12 : nous y expliquons une autre raison pour<br />
laquelle nous ne souhaitons pas signer ce genre de papiers.<br />
IX.1 1 Pouvez-vous nous garantir par écrit, de façon formelle, que<br />
nous avons le droit d'utiliser PuTTY ?<br />
Nous pourrions le faire, en principe, mais il n'est pas évident que ce serait bien utile. Si vous<br />
pensiez qu'il y a un risque réel pour que l'un des détenteurs du copyright de PuTTY vous<br />
intente un procès ( même si ces craintes nous semblent infondées ! ), alors vous souhaiteriez<br />
sans doute obtenir un accord écrit de chacun d'entre eux. Et nous ne serions pas en mesure de<br />
vous le fournir, même si nous le voulions, parce que bon nombre des détenteurs du copyright<br />
sont des gens qui ont contribué au projet par le passé, en fournissant du code, mais avec qui<br />
nous avons perdu le contact, depuis lors. À partir de là, le mieux que nous pourrions faire<br />
serait d'obtenir que toute l'équipe de développement principale vous signe un document, mais<br />
cela ne vous garantirait pas qu'aucun autre détenteur du copyright de PuTTY ne vous<br />
poursuivra jamais en justice.<br />
Veuillez consulter la réponse à la question A.9.12 : nous y expliquons une autre raison pour<br />
laquelle nous ne souhaitons pas signer ce genre de papiers.<br />
IX.12 Pouvez-vous nous garantir quelque chose par écrit ?<br />
Pas à moins qu'il y ait une vraiment très bonne raison.<br />
D'une façon générale, nous ne souhaitons pas passer d'accords individuels avec des<br />
utilisateurs de PuTTY, afin de ne pas créer de précédent. Nous évaluons le nombre des<br />
utilisateurs de PuTTY à plusieurs millions, et nous n'avons certainement pas le temps de faire<br />
le tour de ces utilisateurs, et de signer des accords au cas par cas avec chacun d'entre eux.<br />
Alors si vous tenez à ce que nous vous signions quelque chose en particulier, vous gagnerez<br />
du temps en cessant de croire que vous avez quelque chose en plus, qui vous distingue des<br />
999.999 autres utilisateurs, et donc qu'il y a une raison pour laquelle nous devrions avoir<br />
envie de vous signer quelque chose, sans que cela ne crée un tel précédent.<br />
110
Logiciel d’administration pour IPCOP 1.4.x<br />
Si la politique de la société dans laquelle vous travaillez exige de vous que vous ayez un<br />
accord individuel avec l'éditeur de chacun des logiciels que vous utilisez, alors c'est que la<br />
politique de votre société est tout simplement bien mal adaptée à l'usage de logiciels libres, et<br />
nous vous encourageons à considérer cela comme un défaut dans cette politique.<br />
Oui et non.<br />
IX.1 3 Puisque vous ne voulez rien signer, pouvez-vous nous<br />
promettre que PuTTY restera en open source à l'avenir ?<br />
Si vous voulez avoir l'assurance qu'une certaine version de PuTTY, actuelle ou passée, que<br />
vous avez déjà téléchargée, restera libre, alors vous l'avez déjà, de par la licence PuTTY ellemême.<br />
Cette licence vous accorde le droit d'utiliser, de distributer et de copier le logiciel<br />
auquel elle s'applique. Une fois que nous avons accordé cette permission ( ce qui est le cas ),<br />
nous ne pouvons tout simplement pas la révoquer.<br />
Par contre, si vous voulez avoir l'assurance que les futures versions de PuTTY ne seront pas<br />
en sources fermés, c'est plus difficile. En principe, nous pourrions signer un document disant<br />
que que nous ne sortirons jamais une version de PuTTY dont les sources seraient fermés, mais<br />
ce ne serait pas pour autant une garantie que nous continuerions à sortir des versions de<br />
PuTTY en sources ouverts : nous aurions toujours la possibilité d'arrêter complètement le<br />
développement de PuTTY, ce qui serait encore pire, pour vous, que si nous sortions des<br />
PuTTY en sources fermés ! Et il est quasiment certain que nous ne sommes pas prêts à signer<br />
un document garantissant que nous continuerons à travailler indéfiniment sur PuTTY ( en tous<br />
cas, si nous le faisions, ce ne serait sûrement pas à titre gratuit ! ). De tels documents portent<br />
un nom ( cela s'appelle un contrat de travail ), et ne sont généralement pas signés sans un<br />
salaire conséquent en échange.<br />
Si nous étions sur le point d'arrêter le développement de PuTTY, ou de décider que toutes les<br />
versions à venir seront en sources fermés, alors vous auriez encore la possibilité de prendre la<br />
dernière version sortie en sources ouverts, conformément à la licence actuelle, et en<br />
particulier, vous pourriez démarrer votre propre « fork », c'est à dire votre propre branche de<br />
développement du projet, à partir de cette version. Si cela devait se produire, je pense pouvoir<br />
prédire que quelqu'un le ferait, et que le PuTTY libre et gratuit que vous connaissez<br />
continuerait à être développé. Il y a déjà eu des précédents dans le domaine du logiciel libre.<br />
Nous ne pouvons pas garantir que quelqu'un d'autre que vous le ferait, bien entendu. Il se<br />
pourrait que vous deviez le faire vous-même. Mais nous pouvons vous assurer qu'il n'y a rien<br />
qui empêcherait quiconque de continuer le développement d'une version libre si jamais nous,<br />
nous arrêtions.<br />
Pour finir, nous pensons aussi pouvoir prédire que si jamais nous décidions de mettre PuTTY<br />
en sources fermés, et que quelqu'un en commençait une branche parallèle en sources ouverts,<br />
la plupart des utilisateurs adopteraient cette nouvelle branche. Ce serait donc tout à fait<br />
stupide de notre part.<br />
IX.1 4 Pouvez-vous nous fournir des informations sur le contrôle des<br />
exportations, ou une certification FIPS de PuTTY ?<br />
Certaines personnes nous ont demandé un numéro ECCN pour PuTTY ( [NdT] ECCN =<br />
Export Control Classification Number : il s'agit d'un numéro de classification délivré par<br />
l'administration américaine dans le cadre du contrôle des exportations ). Nous ne savons pas si<br />
111
Logiciel d’administration pour IPCOP 1.4.x<br />
nous en avons un, et vu que nous sommes une équipe de développeurs de logiciels libres, et<br />
que nous sommes situés au Royaume Uni, nous n'avons ni le temps, ni l'argent nécessaires<br />
pour creuser la question, et pas de temps à perdre avec l'administration américaine. Nous<br />
croyons savoir que PuTTY appartient à la catégorie 5D002 sur la liste américaine du contrôle<br />
du commerce, mais cette information est à prendre avec précaution. Si vous avez besoin d'en<br />
savoir plus, vous devriez consulter un conseiller juridique. Il en va de même pour les<br />
exigences légales et les restrictions imposées par tous les autres pays.<br />
De la même façon, certaines personnes nous ont demandé une certification FIPS pour les<br />
outils PuTTY. À moins que quelqu'un d'autre ne soit prêt à faire le travail nécessaire, et à<br />
payer ce que cela coûtera, nous ne sommes pas en mesure de fournir cette certification.<br />
X Questions diverses<br />
X.1 Est-ce que PuTTY est un portage d'OpenSSH ? Est-il dérivé<br />
d'OpenSSH d'une manière ou d'une autre ?<br />
Non. Le code source de PuTTY a presque entièrement été écrit « from scratch », en partant de<br />
rien. La seule partie de code que nous ayons en commun avec OpenSSH, c'est le détecteur<br />
d'attaques par compensation CRC sur SSH-1, qui a été écrit par la société CORE SDI S.A.<br />
X.2 Où est-ce que je peux acheter le jouet « Putty » ?<br />
Ah, là vous n'êtes pas sur le bon site. Le seul PuTTY dont il est question ici est un programme<br />
d'ordinateur. Si vous êtes à la recherche de « putty », le jouet pour passer ses nerfs et se<br />
détresser, l'équipe de développement de PuTTY est bien placée pour vous conseiller<br />
« Thinking Putty », que vous pouvez vous procurer sur le site Crazy Aaron's Putty World<br />
( www.puttyworld.com ).<br />
X.3 Que signifie le nom 'PuTTY' ?<br />
Rien de particulier. PuTTY, c'est le nom d'un client SSH et Telnet bien connu. Pour le reste,<br />
c'est vous qui voyez. Des rumeurs prétendent que 'PuTTY', c'est le contraire de 'getty', ou<br />
que c'est ce qui rend Windows utile, ou encore que c'est un sorte de télétype au plutonium<br />
( [NdT] le symbole chimique du plutonium est Pu, et 'télétype' est souvent écrit TTY, en<br />
abrégé ). Nous ne ferons aucun commentaire là-dessus.<br />
[NdT] accessoirement, 'putty' est aussi un nom commun, en anglais, qui signifie 'mastic'.<br />
X.4 Comment faut-il prononcer le nom 'PuTTY' ?<br />
Exactement comme le mot anglais 'putty', que nous prononçons / pȜti/.<br />
[NdT] : en français, on prononce tout simplement 'pouti'.<br />
112