Outils pour utilisateurs

Outils du site


sysadmin:securite:ssh_keys

Génération et gestion de clés SSH

Les bi-clés servent à authentifier les utilisateurs ; il s'agit de clés de chiffrement asymétrique (voir Notions élémentaires sur le chiffrement (PGP, SSH, SSL, TLS, …)). Ce moyen est considéré comme plus sûr sous réserve que les clés soient bien protégées (par une phrase secrète). Évidemment, utiliser une phrase secrète courte (ou — pire — pas de phrase secrète du tout, autant dire du sabotage) hypothèque très sérieusement la sécurité du ou des serveurs et risque de pénaliser très fortement tous les utilisateurs du système d'information en cas d'utilisation frauduleuse d'un bi-clé.

Pour une utilisation en ligne de commandes, voir Utiliser des clefs avec SSH.

SSH Agent sur Mac OS X

Sur Mac OS X, OpenSSH est installé par défaut, autrement dit on dispose en standard sur cette plateforme d'un client et des outils associés pour une utilisation en ligne de commandes soit : ssh(1), ssh-add(1), ssh-keygen(1) et ssh-agent(1) (entre autres).

Pour avoir un client graphique pour la gestion des clefs, télécharger et installer SSH Agent (plus précisément le fichier SSHAgent1.1.dmg). Ce logiciel est une interface graphique à ssh-agent(1). Pour l'installer, il suffit de copier l'application dans le dossier Applications. Pour le lancer cliquer dessus. Apparaît alors dans le « Dock » l'icône de SSH Agent : Icône SSH Agent

Création d'une clé

Dans le menu View, demander Show SSH Identities. Cliquons sur le premier bouton en haut a gauche pour créer un bi-clé :

Pas encore de bi-clé

On accepte les options proposées par défaut (voir aussi ssh-keygen(1)) :

Création de clé

Choisir une passphrase (phrase secrète) robuste. Il s'agit d'un mot de passe de plus de 30 caractères. Certains choisissent des vers qu'ils affectionnent particulièrement, d'autre uniquement les premières lettres de chacun des mots d'une strophe, etc. À vous de choisir une phrase secrète longue. Il faut bien voir que la sécurité d'une authentification par clé publique repose entièrement sur la qualité de ce sésame.

Création de clé

On voit le nouveau bi-clé :

Création de clé : un bi-clé

Chargement d'une clé

Cliquer sur la case Active et Default, la phrase secrète est alors demandée :

Création de clé : entrer la phrase secrète

Pour ne plus la retaper à chaque lancement de SSH Agent, le système la stocke dans notre trousseau de session :

Création de clé : stockage dans le trousseau de session de Mac OS X

C'est notre mot de passe sur le système Mac OS X qui nous est demandé.

La clé est désormais chargée (comme on l'aurait fait avec ssh-add(1)) dans l'agent et le système sait comment y accéder. En cherchant, on trouve bien un processus ssh-agent(1).

SSH Agent utilise les conventions communément utilisées sur Unix pour le stockage et l'utilisation de clés. Ainsi, la clé publique est dans le fichier $HOME/.ssh/id_rsa.pub ; Ce fichier devra être fourni à l'administrateur du serveur, il copie le contenu alors au bon endroit (dans $HOME/.ssh/authorized_keys) et on peut alors s'authentifier en utilisant le bi-clé.

Voilà, vous pouvez vous authentifier auprès d'un serveur SSH, par exemple pour copier des fichers via SCP ou SFTP (voir Utiliser Fugu pour cela).

<note>Évidemment, à chaque redémarrage du système ou fermeture de session, l'agent ne tourne plus. Pour le lancer dès l'ouverture de session, faire un clic droit sur l'icône du Dock et cocher Ouvrir à l'ouverture de session.

PuTTYgen et Pageant sous Windows

Télécharger et installer Multilanguage installation package sur la page de téléchargement de WinSCP. Il s'agit en fait des outils fournis avec PuTTY.

Lors de l'installation, sélectionner l'installation des composants « Pageant (agent d'authentification SSH) » et « PuTTYgen (générateur de clé) ». Pour le reste, les options par défaut conviennent, il suffit de valider à chaque fois que c'est demandé.

Création de bi-clés

Dans le menu Démarrer » Programmes » WinSCP, lançons PuTTYgen.

Il s'agit bien d'une clé SSH2-RSA de 1024 bits que l'on va créer, il suffit donc de cliquer sur Generate. Comme indiqué, bouger la souris dans la zone dégagée de la fenêtre pour générer de l'aléa.

PuTTYgen au lancement

Il faut maintenant choisir une passphrase. Il s'agit d'un mot de passe de plus de 30 caractères. Certains choisissent des vers qu'ils affectionnent particulièrement, d'autre uniquement les premières lettres de chacun des mots d'une strophe, etc. À vous de choisir une phrase secrète longue. Il faut bien voir que la sécurité d'une authentification par clé publique repose sur la qualité de ce sésame.

PuTTYgen à créé un bi-clé

Une fois la phrase secrète entrée deux fois de suite (sans faute), on va enregistrer les parties publiques et privées sur le disque, en lieu sûr. Bien évidemment, si vous enregistrez votre bi-clé sur un support USB ou que vous le transférer sur un réseau par mail ou par FTP ou tout autre protocole en clair (pas chiffré), si votre clé n'a pas de (bonne) phrase secrète, elle est accessible à tout un chacun, qui pourra se connecter avec votre identité…

Choissons un nom de fichier cohérent, par exemple (vivement recommandé) : login_ssh_rsa.pub et login_ssh_rsa.ppk (remplacer login par son nom d'utilisateur par exemple).

Si les deux phrases scrètes ne correspondent pas, l'erreur suivante survient lorsqu'on enregistre les fichiers : PuTTYgen : erreur lors de la saisie de la phrase secrète

Quand tout cela est fait, copier le texte dans l'encadré du haut Key (Public key for pasting into OpenSSH authorized_keys file) et le coller dans un fichier texte : sélectionner tout le texte de l'encadré, ouvrir Notepad ou tout autre éditeur de textes et coller le texte copié. Enregistrer dans un fichier login_ssh_rsa_pub.txt. Ce fichier devra être fourni à l'administrateur du serveur, il copie le contenu alors au bon endroit (dans $HOME/.ssh/authorized_keys) et on peut alors s'authentifier en utilisant le bi-clé.

Sauvegarder les trois fichiers en lieu sûr (c'est-à-dire accessible pour pouvoir les récupérer mais aussi à l'abri des indiscrétions).

Utilisation de l'agent Pageant

Dans le menu Démarrer » Programmes » WinSCP, lançons Pageant. On voit alors apparaître dans la zone de notification (systray, dans la barre en bas, à droite à côté de l'horloge) l'icône de Pageant : Pageant dans le systray

Un clic droit sur l'icône de Pageant affiche le menu contextuel :

Pageant : menu

Choisissons de voir les clés :

Pageant vide

Aucune clé n'est chargée. C'est assez moral, nous n'avons encore rien demandé. Chargeons la clé privée que l'on vient de créé. Une fois la phrase secrète correctement saisie, le fichier login_ssh_rsa.ppk peut être déchiffré et le contenu chargé en mémoire par Pageant.

Pageant avec une clé chargée

On peut maintenant dire à PuTTY et/ou WinSCP d'utiliser la clé, ils communiqueront avec Pageant. Ce dernier ayant chargé la clé, aucun mot de passe ne sera plus demandé — jusqu'à ce que Pageant soit déchargé « évidemment » i. e. jusqu'à ce que le processus soit relancé (démarrage, ouverture de session…).

sysadmin/securite/ssh_keys.txt · Dernière modification: 2009/11/23 15:44 par Pascal Cabaud

Outils de la page