Chapitre 1. Créer une paire de clefs SSH pour sécuriser les accès en ligne.
Précédent     Suivant

Chapitre 1. Créer une paire de clefs SSH pour sécuriser les accès en ligne.

Table des matières

SSH signifie Secure Shell, c'est à la fois un protocole de communication entre machines et un ensemble de programmes informatiques permettant de créer des clefs puis de gérer leur utilisation pour effectuer des connections et des communications sécurisées. Nous avons besoin de cette authentification pour collaborer en ligne en toute sécurité sur des serveurs dont nous avons la responsabilité. Les clefs que vous allez créer pourront être réutilisées pour d'autres besoins s'ils se présentent.

SSH et Windows.

Avec la famille de logiciels puTTY proposée ci-dessous il est possible soit de récupérer une clef SSH construite sur un autre système soit de générer sa propre clef. Récupérer une clef existante ne pose aucun problème si elle n'est pas compromise. La fiabilité d'une paire de clefs SSH dépend d’une part du soin avec lequel elle a été créé et d’autre part du respect des règles de bon usage, cependant il faut veiller à ce que la robustesse de la clef (la taille ) corresponde aux recommandations du moment (début 2015 la taille doit être au moins de 2048). Perdre la confidentialité d’une clef engage votre responsabilité sur l’utilisation qui pourra en être faite et en cas de doute il est extrêmement simple comme nous allons le voir de générer une nouvelle clef et la substituer à celle qui est compromise.

Installer les logiciels nécessaires.

Le dispositif de clés est opensource et est conçu pour s'adapter à tous les environnements et tous les Os, un certain nombre de logiciels opensource sont nécessaires pour réaliser le travail et sont disponibles dans tous les Os.

Le logiciel puTTYgen

Installer le logiciel puTTYgen (et en supplément facultatif puTTY et pageant).

puTTYgen permet de créer les clefs sécurisées pour les connexions SSH dont nous avons besoin

puTTY permet de se connecter à des serveurs distants en mode console et est capable de gérer le type de connection SSH.

Pageant (abréviation de puTTY agent) est un agent d'authentification SSH, qui conserve vos clés privées en mémoire vive, sous forme décryptée, pour que vous puissiez vous authentifier souvent, sans avoir besoin de retaper votre phrase de passe à chaque fois.

Télécharger puTTYgen

Plus d'information en français sur puTTY

Le logiciel cyberduck

Ce logiciel est un outil de déplacement de fichiers, il va vous permettre d’accéder directement à des serveurs distants une fois que vous aurez une paire de clefs pour le faire. La connexion se fera en mode sécurisé appelé sftp. Cyberduck sera utilisé notamment pour structurer votre espace de dépôt et en mode secours ou pour des transferts par lots. En fonctionnement ordinaire les transferts de fichiers media peuvent être faits directement depuis l'éditeur oXygen pendant la rédaction des documents.

Téléchargez depuis ce site et installez cyberduck

Récupérer une clef existant sur un autre ordinateur

Il est possible que vous disposiez d’une clef SSH que vous utilisez pour d'autres activités. Si vous le souhaitez et si cela ne pose pas de problème de sécurité pour vos autres activités, ce n’est pas la peine de générer une clef dédiée pour tremplin (ce n’est d’ailleurs probablement pas souhaitable pour un utilisateur ordinaire sauf si vous voulez explicitement disposer de clefs associées à des fonctions particulières).

Recopiez votre paire de clefs dans un dossier que vous créez à la racine de votre espace privé (c:\Users\VotreNom), par exemple .ssh pour être cohérent avec l’univers linux/unix si vous l’utilisez aussi, mais en toute riguer le nom du dossier importe peu.

Cette illustration est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 1.1. Fenêtre de départ du logiciel puTTYgen après import d'une clef externe et validation par la phrase de passe

La valeur par défaut de la taille de cette clef est 1024


Ouvrir puTTYgen cliquer sur Conversions/import key, tapez votre phrase de passe, vos clés sont importées dans puTTY. Vous pouvez les enregistrer dans le même répertoire. Attention pour des raisons évidentes de confidentialité vérifiez bien que les droits sur votre clef privée soient les plus restrictifs possible (lecture seule pour vous même). Vous disposez maintenant d’une paire de clefs au format ASCII-OpenSSH que vous avez importée et d'une de clé au format PPK généré par puTTY, vous êtes donc armé pour réussir tout type de connection sécurisée.

Créer une nouvelle paire de clefs

Choisir l’une des deux options SSH-2.RSA ou SSH-2.DSA, Nous ne nous prononcerons pas sur ce choix; si ce sujet vous intéresse il y a une littérature abondante retraçant l'évolution des discussions entre les tenants de chacune des solutions, pour notre part nous utilisons des clés RSA. Attention : conserver la taille du codage à 1024 qui est la valeur par défaut est insuffisant, 2048 tout à fait acceptable (au 15/02/2015), 4096 a été testé aussi avec succès mais aucune valeur au delà.

Cette illustration est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 1.2. Le logiciel puTTYgen avant la génération des clefs

La valeur 2048 par défaut de la taille a été ici modifiée pour générer une clef SSH-2-RSA 4096


Cliquez sur Generate et déplacez la souris dans l’espace en dessous de la barre de progression afin d'accélérer la création des clés. Quand la création est terminée la fenêtre change d'apparence: En haut apparait dans une case la clef publique ASCII-OpenSSH, puis les champs Key comment et Key passphrase à compléter avant de sauver votre clef publique et votre clef privée (figure ci-dessous)

Cette illustration est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 1.3. Logiciel puTTYgen à la fin de la création de la paire de clefs

Avant d'enregistrer vos clés: 1) écrire votre nom dans le champ Key comment : il apparaitra alors en fin de votre clé publique ce qui permettra à l'administrateur d'identifier votre clé qu'il doit placer sur son serveur. 2) ecrire votre phrase de passe par deux fois.


Enregistrer sa clef publique

Vous devez avant tout enregistrer votre clef publique qui se trouve dans la case du haut, c'est cette clef publique que vous fournirez aux serveurs distants, comme son nom l'indique elle est publique et n'a aucun caractère de confidentialité.

Ouvrez l'éditeur notepad copiez le texte contenu dans la fenêtre copiez-le dans notepad et enregistrez le fichier sous le nom id_rsa.pub . Veillez à remplacer l'extension par défaut .txt par .pub comme indiqué, cela vous permettra d'avoir un nom standard pour votre fichier qui correspondra à d'éventuelles aides que vous pourrez trouver sur le web.

Pour valider votre paire de clés il est nécessaire de compléter le champ Key passphrase qui est une phrase de passe (homologue d'un mot de passe mais plus long) si possible en n'utilisant pas de mots de dictionnaire et en mélangeant minuscules, majuscules, chiffres et caractères spéciaux. Il n'est pas obligatoire de taper une phrase de passe mais alors toute personne qui serait en possession de votre clé privée pourrait se connecter en votre nom sur tous les serveurs où elle déposerait votre clef publique. Une fois la phrase de passe validée vous pouvez sauvegarder les clefs dans le dossier de votre choix de votre espace privé appelé par exemple ssh pour être cohérent avec l’univers linux/unix c'est à dire dans c:\Users\VotreNom\ssh .

Enregistrer sa clef privée

Lorsque vous cliquez sur le bouton Save private key du logiciel puTTYgen, la clef privée est générée dans le format natif de puTTY avec une extension .ppk. Vous devez l'enregistrer dans ce format mais aussi la convertir au format OpenSSH en cliquant sur l'onglet Conversions/Export OpenSSHkey. Enregistrez la en l'appelant id_rsa (sans extension) dans le dossier ssh comme pour votre clef publique.

Cette illustration est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 1.4. Logiciel puTTYgen: export de la clé privée au format OpenSSH


Il faut impérativement sauvegarder la clef privée et la clef publique. Ne jamais donner sa clef privée et sa phrase de passe pour quelque raison que ce soit et la protéger du mieux possible. La meilleure façon est de ne la sauver que sur une clef USB cryptée que l'on connecte seulement quand on en a besoin mais ce niveau de vigilance entraîne des contraintes qu'il faut être prêt à assumer ! C'est ce que font effectivement certains usagers particulièrement paranoïaques ou des administrateurs de serveurs sensibles, pour un usager courant il suffit de minimiser au maximum le nombre de copies de la clef privée de limiter les accès (même en lecture) et surtout de ne pas stocker la phrase de passe avec la clef.