Linux Sécurité
ssh-keygen
Générateur de clé publique/privé en SSH



Pour : Linux


La commande "ssh-keygen" permet de générer des clés publique et privé du protocole "ssh".
Il est possible de crées des clés dans les deux formats existant, le RSA et le DSA.
Leurs longueurs peuvent faire 1024, 2048, 4096 bits mais il est déconseillé d'utiliser les clés inférieur à 1024 bits ainsi que le RSA.
Syntaxe:

ssh-keygen [Options Valeurs]



Création de la paire de clé publique/privé

On va créer la clé publique "id_dsa.pub" et la clé privé "id_dsa" avec la commande ssh-keygen.
Option "-t" pour définir le type de clé, RSA ou DSA.
Option "-b" pour définir la longueur de la clé en bits.
Option "-C" pour ajouter un commentaire, très utile pour retrouver une clé parmi d'autre.
Par défault si aucun commentaire n'est ajouter le nom du compte et le nom de la machine sont ajouter sous la forme de "nom@machine".

Exemple:
On va créer la paire de clés de type "DSA" avec une longueur de "1024" bits et comme commentaire le nom de la machine où elle a été faite "pc-octetmalin".

$ ssh-keygen -t dsa -b 1024 -C pc-octetmalin Generating public/private dsa key pair. Enter file in which to save the key (/home/cedric/.ssh/id_dsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/cedric/.ssh/id_dsa. Your public key has been saved in /home/cedric/.ssh/id_dsa.pub. The key fingerprint is: 25:f2:02:6a:5a:47:ca:7d:f5:a5:14:81:37:4f:70:2c pc-octetmalin The key's randomart image is: +--[ DSA 1024]----+ | .++. | | . Eoo | | o . o.o=. | | . = . + = o. | | * o o S o | | + . . . | |. | | | | | +-----------------+ $



Voila, la paires de clé ont été créés dans le répertoire par défault "/home/[nom_utilisateur]/.ssh/".
La clé "id_dsa" contient la clé privée qui faut surtout pas dévoiler et la clé "id_dsa.pub" contient la clé publique que vous devrez mêttre sur les serveurs dont vous voulez l'accès.



Afficher le commentaire et la clé publique

Avec l'option "-e", il est possible d'afficher le commentaire et la clé publique depuis votre clé publique mais aussi depuis votre clé privé.

Dans l'exemple ci-dessous vous pouvez voir que la 1ère ligne nous indique que c'est la clé publique qui s'affiche a la norme "SSH2":
---- BEGIN SSH2 PUBLIC KEY ----
La ligne suivante nous affiche le commentaire, qui nous informe que c'est une clé de type "DSA" d'une longueur de "1024" bits et quelle a été converty avec le compte "cedric" sur la machine "pc-octetmalin".
Comment: "1024-bit DSA, converted by cedric@pc-octetmalin from OpenSSH"
Et après vient la clé publique.
Syntaxe:
ssh-keygen -e

Exemple:

---- BEGIN SSH2 PUBLIC KEY ---- Comment: "1024-bit DSA, converted by cedric@pc-octetmalin from OpenSSH" AAAAB3NzaC1kc3MAAACBALMN3a36O/K/KWvI3GTctmuHz6uMunlIZA0cdKd6fNjcvQL6Vc VlEfU5t2O4gcGEZPjSBOZzx+lIC6AYzebtXzaVbsQCGMoKmvEv6a3+A7QjJiHhtN9hJRfL VoxRkc1bavwpMwFS20b6t6PAQpJG7jhZBRn2MU1gaiWeVyRatLsvAAAAFQC0Wn+2DFB9Y3 2PChf9gWnInBeTJwAAAIBnQKZyRqtnk0IlZnU26MhHxrh+A7OMq9YxbqMaVGpBgWJ6SRrX Mcd7VuEPuULKYR/ll6O7H60Zt5a9eznT079wdN6UsCjwbFGatjJo+YwyL5XOeGyXccwuvW cdy1h4qZNP8sLt+yZ5IT0spcvh0ULfGDmjJtlL9CqFtsfTE5FFLQAAAIB8y4g11dxmckfb T7Vs/jZAzYsnW/rQ2zreZs+6ja7EkQ/UN4Q/dh+CbwNnYQJwnvJtLTH6bSH7D7s2qz3wXY 3mob+2i4Xdc4CJv4DQvMOaabca15dpTvNDwXYkIeI7j52ZD7JukuSJMFZRjt0VSTLQWqtk bTsGBYIv0FkzilRugA== ---- END SSH2 PUBLIC KEY ----



PS: Vous avez perdu votre clé publique, voici le moyen idéal pour afficher votre clé publique a partir de la clé privé.



Les empreintes (fingerprint)

L'option "-l" permet de retrouver l'empreinte d'une clé ssh.
Pour connaitre l'empreinte "dsa" d'un serveur on indiquera la clé "/etc/ssh/ssh_host_dsa_key.pub".
Syntaxe:
$ ssh-keygen -l

Exemple:

$ ssh-keygen -l Enter file in which the key is (/home/cedric/.ssh/id_rsa): id_dsa 1024 46:c9:8f:44:5f:f7:bd:8e:49:bd:c4:67:85:fc:97:a6 ./id_dsa.pub (DSA)





Lien pour aller sur le site de l'éditeur:
www.openssh.com/fr

Liens qui peuvent vous aidez:
OpenSSH - Tutoriel pour installer une infrastructure client et serveur en SSH
ssh - Fichier "known_hosts" liste les clés publique des serveurs
ssh - Fichier "authorized_keys" les clés publique autorisé a se connecter au compte
ssh - Fichier de configuration du client (/etc/ssh/ssh_config et ~/.ssh/config)
ssh - Fichier de configuration du serveur (/etc/ssh/sshd_config)
Agent SSH (ssh-agent) - Gestion des clés et leur passphrase en mémoire (ssh-add)



Par O.Cédric
Sur www.octetmalin.net

Article publié le:
18/11/2011 10:35





Cette page vous à plus?

Dîtes que vous l'aimez en cliquant sur le bouton Facebook.