PuTTY : un client SSH ergonomique

Ce document est inspiré des pages web de l'INRIA


Table des matières



Introduction

PuTTY est l'utilitaire recommandé pour se connecter en SSH sur le serveur ssh.isc.cnrs.fr à partir d'une machine windows ou Linux(image-ISC). Il existe sous Windows et Unix. Une version beta est disponible pour Mac OS 9 - et antérieur - mais n'est pas recommandée.

Pour assurer la diponibilité du client l'ISC héberge en interne un mirroir du site principal : http://www.chiark.greenend.org.uk/~sgtatham/PuTTY

Installation du logiciel

Sous Windows, PuTTY se présente sous forme d'un exécutable d'installation (putty-version-installer.exe dans la section download). Si le chemin d'installation  par défaut ne vous convient pas, vous pourrez l'installer où vous le souhaitez si vous disposez des droits d'administrateur sur le système cible ou sinon l'installer dans votre espace personnel.

Pour les systèmes linux installés à partir de l'image standard de l'ISC, le logiciel est pré-installé à partir du package Debian. Il est accessible par le menu standard : Debian/Applications/Réseau. (Attention : Applications/Menu Debian/Applications/Réseau sous Gnome)

Pour les autres systèmes UNIX , une compilation est obligatoire. En particulier sous Mac OS X ou elle se fait à l'aide des outils contenus dans l'Apple Developer Tools (cf.: FAQ PuTTY/ports).

Contenu de package PuTTY

permet de mettre en place un agent qui stocke les clefs. On ne tappe alors son mot de passe qu'une fois par session de login. Permet de faire un équivalent des .rhosts.



utilitaire en ligne (à lancer dans une fenêtre invite de commande donc) permettant la connection ssh proprement dite. 

Sa syntaxe est :

plink ssh.isc.cnrs.fr

Sous UNIX, delaissez ces utilitaires au profit de ssh et ssh-agent (cf. : leurs usages à l'ISC dans la page UNIX).




utilitaire en ligne (à lancer dans une fenêtre invite de commande donc) permettant de faire l'équivalent d'un scp. 

Sa syntaxe est par exemple :

pscp c:\toto.doc ssh.isc.cnrs.fr:toto.doc

(pour déposer un fichier sur le serveur ). Ou bien :

pscp ssh.isc.cnrs.fr:toto.doc c:

pour récupérer un fichier.

utilitaire en ligne (à lancer dans une fenêtre invite de commande donc) équivalent à la commande ftp.

psftp ingleber@ssh.isc.cnrs.fr

Sous UNIX, délaissez ces commandes au profit de scp et sftp.    




C'est le programme proprement dit de connection ssh. Il s'occupe de la configuration (sauf la gestion des clefs) et de la connection.




C'est la documentation...




C'est l'utilisaire de création/modification des clefs.



Configuration rapide

PuTTY Installé, il vous reste plus qu'à choisir entre le système d'autentification à mot de passe unique ou le système à échange de clefs publiques.

Dans le dernier cas vous devez :

  • Vous créer des clefs

  • Les déposer sur la machine ssh.isc.cnrs.fr

  • Dire à PuTTY d'utiliser les clefs que vous venez de créer

 

Configurer PuTTY

Dans l'utilitaire PuTTY, il faut se créer un profil. Alons-y étape par étape.

  • Ouvrez PuTTY

  • Dans Saved Sessions, entrez ssh.isc.cnrs.fr

  • Dans Host Name, entrez ssh.isc.cnrs.fr

  • Dans Protocol, sélectionnez SSH, le port doit maintenant indiquer 22


  •  sauvegardez maintenant en cliquant sur Save

Première connection SSH avec PuTTY

Dans PuTTY, sélectionner la session ssh.isc.cnrs.fr, et cliquez sur open. Lors de la première connection, une fenêtre du genre


vous signalera que la clef du serveur n'est pas connue de votre PC. Cliquez Accept et vous l'enregistrerez sur votre poste client.

Si par la suite, cette fenêtre réapparaît, c'est que la clef du serveur a changé. C'est louche ! prevenez l'administrateur du site car l'empreinte de ssh.isc.cnrs.fr devrait être : 5a:80:3c:21:61:5a:9d:2a:00:6d:c1:94:0a:5d:c8:99.

PuTTY vous demande alors votre login pour vous authentifier. En interne, vous utilisez votre compte mail. 

 

Vous êtes maintenant connecté sur le serveur ssh.isc.cnrs.fr.

Si vous souhaitez utiliser un mot de passe unique, vous ajoutez simplement le suffixe :skey à votre login :

Création des clefs : puttygen

Sous Windows 


 
 

  • Cochez l'ongler SSH2 RSA


     

  • Bougez la souris afin de générer des événements aléatoires


     

  • Les clefs sont créées. Il faut modifier le champ Key comment, afin de mettre un comentaire compréhensible vous permettant de reconnaitre la clef. Ensuite remplissez les champs Key passphrase et sa confirmation afin d'initialiser la chaine secrete permettant de decrypter et utiliser la clef.



  • La passphrase est très importante. C'est elle qui protège votre clef privée.

  • Sauvegardez votre clef privée dans un fichier. Ce fichier doit être local à votre portable ou station. Le nom du fichier peut etre explicite car la clef est quasi-indecryptable sans la passphrase. 
    Vous pouvez sauvegarder votre clef publique mais ce n'est pas une obligation car elle est calculée à partir de la clef privée.

Sous unix

L'appel se fait en ligne de commande sur votre poste client (pas une fenetre putty ;)
votre-console-UNIX-$ puttygen -t rsa -b 2048 -C "my home key" -o mykey.ppk
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++
Enter passphrase to save key: MonMotDePasseSecret
Re-enter passphrase to verify: MonMotDePasseSecret

Félicitations ! Vous avez créé vos clefs RSA pour SSH2 !

 

Déposer les clefs sur ssh.isc.cnrs.fr

Afin de fonctionner, la machine ssh.cnrs.fr aura besoin de votre clef publique.

Sous Windows

Vous obtiendrez votre clé publique avec l'utilitaire PuTTYgen.exe


.

Sous Unix

Vous obtiendrez votre clé public à partir de la commande en ligne :


votre-console-UNIX-$ puttygen -O public-openssh mykey.ppk
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQBjKAQhK9CbPb4i/KqEzHGU4dUR/zmvf2XxocMHFRHB19sS
4eZ+sBk6kIo6IjO/nG3J1aId/L0v+7jHGZ6TIwfX9iI2KN8CGLU2fnqPpLhq+8uvebNTn0lBe+6WVy61
+/cCMINzrD/1ZTJX+Znfx+ddGKuCIgOPuj2ezhCJ/gpiCfoHxUaTi5h+pM6chATO88bo4Il1HBjjD2QL
awf++Hxg1LTK40ixGGQfLy8D/jRGbh5NODff6vHefqOrnIWcMdNDqtEf6i+G0THt/66HcxXjz8Q61Jgj
QhTsXhhO9w99zneJ3ERGBfQbxJS/hOgwIv+gteoLJPtUQ3rQy0g9pPJX my home key

Copier la clef

Vous devez vous connecter depuis un poste interne au serveur ssh.isc.cnrs.fr en utilisant votre compte mail ou utiliser une connection à mot de passe unique.

Vous executerez alors les commandes (sur le serveur ssh.isc.cnrs.fr, donc dans une fenetre PuTTY! - cf. chapitre precedent ;)

ssh.isc.cnrs.fr:~$ mkdir -p .ssh
ssh.isc.cnrs.fr:~$ cat >.ssh/authorized_keys2

La dernière commande cat permet de saisir la clef. Ici, vous pouvez soit laborieusement resaisir votre clef ( y compris le ssh-rsa et jusqu'au bout du commentaire - dans l'exemple : 'my home key' ) sans faire de faute frappe ou intelligement utiliser les fonctions de copier/coller de votre interface graphique, par exemple le bouton droit de la souris pour coller le contenu du presse papier dans une fenêtre PuTTY sous windows !

La copie terminée, vous pouvez valider la saisie en saisissant un retour chariot (entrée) puis la combinaison de touches : Ctrl+D
 

Vous vérifierez votre saisie avec la commande :

ssh.isc.cnrs.fr:~$ cat <.ssh/authorized_keys2

Qui vous affichera le contenu du fichier ".ssh/authorized_keys2" contenant votre clef publique.

Se connecter en utilisant l'échange de clef

Putty nécessite que vous lui spécifiez le chemin d'accès vers votre clef :
  • Lancer PuTTY

  • Sélectionnez la session ssh.isc.cnrs.fr, et cliquez sur load

  • Sélectionnez l'onglet Auth de SSH

  • Donnez le chemin d'accès à votre fichier créé à partir de puttygen (/home/maurin/mykey.ppk dans l'exemple ci-dessous)
  • Retournez dans session et sauvegardez votre session ssh.isc.cnrs.fr

Si vous avez suivi point à point cette page, vous pouvez maintenant vous connecter de l'extérieur en utilisant votre clef. Pour ce faire :
  • Lancer PuTTY

  • Sélectionnez la session ssh.isc.cnrs.fr, et cliquez sur load puis sur OPEN.

  • Identifiez vous avec votre login de votre compte mail
    • login as: VotreCompteMail
  • Putty vous demande maintenant non plus votre mot de passe mail mais celui qui permet de lire votre clef publique et que vous avez saisie pendant la procédure de génération de votre clef à l'aide de puttygen
    • Authenticating with public key "my home key"
    • Passphrase for key "my home key": VotrePassphraseQuiProtègeVotreClefPrivée

Utilisation avancée de putty

Utiliser un agent ssh

Sous Windows

pageant permet de ne pas taper la passphrase à chaque connection SSH. En l'utilisant, vous entrerez une fois votre passphrase, et c'est tout. Voici comment procéder :

  • Lancer pageant


  • Il se place alors dans la barre de tâche de windows (en bas à droite).

  • Cliquez bouton droit de la souris


  • dessus, et sélectionnez Add key.

  • sélectionnez votre fichier de clef privée

  • Entrez la passphrase


Et voila, pour vos prochaines connections SSH, il ne vous sera plus rien demandé !

Vous pouvez vérifier que votre clef est bien enregistrée auprès de pageant en utilisant View Keys

Sous UNIX

Vous devez utiliser ssh-agent (cf. : son usage à l'ISC dans la page UNIX).

Utiliser des tunnels SSH (exemple de VNC)

Il est possible de diriger des connections vers le tunnel ssh crypté telles que des connections VNC, HTTP, POP et IMAP en se basant sur les numéros de port et le localhost. Nous allons nous intéresser, dans un premier temps, au protocole VNC qui vous permet d'acceder à une session UNIX sur un server interne de l'ISC. L'opération consistera à rediriger les connections VNC vers le localhost, puis de ses connecter localement à celui-ci pour accéder à au serveur distant.

Ci-dessous, figure la description de l'implémentation sur PuTTY.

  • Lancer PuTTY

  • Sélectionnez la session ssh.isc.cnrs.fr, et cliquez sur load

  • Sélectionnez l'onglet Tunnel de SSH

  • Dans le champ Source port, entrez le numéro de port local, c.a.d qui sera accessible sur votre PC. (5900 dans notre exemple)

  • Dans Destination, entrez le nom de la machine distante, suivi de ":" et du port distant (lin181.isc.cnrs.fr:5901 dans notre exemple)

  • Selectionnez le protocol IPV4
  • Cliquez sur Add, et sauvegardez la session ssh.isc.cnrs.fr

Dans notre exemple, toute connection à localhost (notre PC), sur le port 5900 sera renvoyée à lin181.isc.cnrs.fr, sur le port 5901 qui est un port secondaire d'écoute du serveur VNC.
Il ne vous reste plus qu'a vous logger via PuTTY puis vous connecter localement avec le client VNC ( à télécharger en interne ou depuis le site http://www.realvnc.com ) pour acceder au serveur distant.

MaJ: Syl.M.
2005-09-09


Institut des Sciences Cognitives UMR 5015 CNRS UCB Lyon 1
67, boulevard Pinel 69675 BRON cedex

Tél: 04 37 91 12 16 Fax: 04 37 91 12 10 Mail: web@isc.cnrs.fr

Accueil ISC Informatique SSH