03.07.2013 Views

Logiciels d'administ.. - Parent Directory

Logiciels d'administ.. - Parent Directory

Logiciels d'administ.. - Parent Directory

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!