Linux |
CentOS 4.8 |
|
ssh-keygen(1) |
NOM
ssh-keygen − génération, gestion et conversion de clef d’authentification |
SYNOPSIS
ssh-keygen [−q] [−b bits] −t type [−N new_passphrase] [−C comment] [−f output_keyfile] |
ssh-keygen −p [−P old_passphrase] [−N new_passphrase] [−f keyfile] |
ssh-keygen −i [−f input_keyfile] |
ssh-keygen −e [−f input_keyfile] |
ssh-keygen −y [−f input_keyfile] |
ssh-keygen −c [−P passphrase] [−C comment] [−f keyfile] |
ssh-keygen −l [−f input_keyfile] |
ssh-keygen −B [−f input_keyfile] |
ssh-keygen −D reader |
ssh-keygen −U reader [−f input_keyfile] |
DESCRIPTION |
ssh-keygen génère, gère et convertit des clefs d’authentification pour ssh(1). ssh-keygen permet de créer des clefs RSA à utiliser avec la version 1 du protocole SSH, et des clefs RSA ou DSA à utiliser avec la version 2 du protocole SSH. Le type de clef à générer est spécifié à l’aide de l’option −t. En général, chaque utilisateur souhaitant utiliser SSH avec une authentification RSA ou DSA lance ce programme une fois pour générer la clef d’authentification dans $HOME/.ssh/identity, $HOME/.ssh/id_dsa ou $HOME/.ssh/id_rsa. Eventuellement, l’administrateur système peut utiliser ce programme pour générer des clefs d’hôte, comme dans /etc/rc. Normalement, ce programme génère la clef et demande un nom de fichier pour stocker la clef privée. La clef publique est stockée dans un fichier qui porte le même nom plus une extension « .pub ». Le programme demande aussi un mot de passe (passphrase). Le mot de passe peut être vide, ce qui équivaut une absence de mot de passe (les clefs d’hôte doivent avoir un mot de passe vide), ou une chaîne de caractère de longueur arbitraire. Le mot de passe pour ssh (passphrase) est semblable à un mot de passe, mais peut être une phrase avec des mots, des caractères de ponctuation, des chiffres, des espaces ou n’importe quelle chaîne de caractères. Les bons mots de passe font en général 10 à 30 caractères de long, et ne sont pas des phrases simples ou faciles à deviner (pour information, la prose anglaise a seulement un à deux bits d’entropie par caractère et fournit de mauvais mots de passe), et contient un mélange de majuscules, minuscules, chiffres et caractères non alphanumériques. On peut changer le mot de passe (passphrase) d’une clef à l’aide de l’option −p. Il n’y a aucun moyen de retrouver un mot de passe égaré. Si on perd un mot de passe, il faut générer une nouvelle clef et la copier dans les clefs publiques correspondantes des autres machines. Pour les clefs RSA1, il y a en plus un champ de commentaires dans le fichier de clef. C’est un moyen pratique dont dispose l’utilisateur, pour identifier la clef. On peut se servir de ce commentaire pour décrire le but ou l’utilité de la clef. Le commentaire est initialisé à « user@host » lors de la création de la clef, mais peut être changé à l’aide de l’option −c. Après la génération d’une clef, quelques instructions sont affichées, qui détaillent la manière d’activer les clefs. Les options sont les suivantes : |
−b bits
Spécifie le nombre de bits de la clef à créer. Le minimum est 512 bits. En général, on considère qu’une longueur de 1024 bits est suffisante, et des longueurs de clefs supérieures n’améliorent pas la sécurité mais ralentissent le tout. Par défaut 1024. −c’ Permet de changer le commentaire des clefs publiques et privées. Ne fonctionne qu’avec les clefs RSA1. Le programme demande le fichier contenant la clef privée, le mot de passe (passphrase) si la clef en a un, et le nouveau commentaire. −e’ Cette option lit un fichier de clef publique ou privée OpenSSH et affiche la clef dans un format « SECSH Public Key File Format » sur la sortie standard, pour une utilisation avec plusieurs implémentations commerciales de SSH. −f filename −i’ Cette option lit un fichier de clef privée (ou publique) non crypté dans un format compatible SSH2, et affiche une clef privée (ou publique) compatible OpenSSH sur la sortie standard. ssh-keygen peut aussi lire les clefs au format « SECSH Public Key File Format ». Cette option permet d’importer des clefs depuis plusieurs implémentations commerciales de SSH. −l’ Affiche les empreintes du fichier de clef publique spécifié. Les clefs privées RSA1 sont supportées également. Pour les clefs RSA et DSA, ssh-keygen essaie de trouver le fichier de clef publique correspondant, et affiche son empreinte. −p’ Demande le changement d’un mot de passe (passphrase) au lieu de créer une nouvelle clef privée. Le programme demande le nom du fichier contenant la clef privée, l’ancien mot de passe (passphrase), puis deux fois le nouveau mot de passe (passphrase). −q’ Rend ssh-keygen silencieux. Utilisé par /etc/rc lors de la création d’une nouvelle clef. −y’ Cette option lit un fichier de clef privée au format OpenSSH, et affiche une clef publiqye OpenSSH sur la sortie standard. −t type −B’ Affiche le résumé en babil du fichier de clef privée ou publique spécifié. −C comment −D reader −N new_passphrase −P passphrase −U reader FICHIERS |
$HOME/.ssh/identity
Contient l’identité d’authentification RSA de l’utilisateur pour la version 1 du protocole. Ce fichier ne doit être lisible que par l’utilisateur. On peut préciser un mot de passe (passphrase) lors de la génération de la clef. Ce mot de passe est utilisé pour crypter la partie privée de ce fichier à l’aide de 3DES. ssh-keygen n’accède pas automatiquement à ce fichier, mais c’est le fichier par défaut pour la clef privée. ssh(1) lit ce fichier lors d’une tentative de connexion. $HOME/.ssh/identity.pub $HOME/.ssh/id_dsa $HOME/.ssh/id_dsa.pub $HOME/.ssh/id_rsa $HOME/.ssh/id_rsa.pub AUTEURS |
OpenSSH est dérivé de la version originale et libre ssh 1.2.12 par Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt et Dug Song ont corrigé de nombreux bugs, ré-ajouté des nouvelles fonctionnalité et créé OpenSSH. Markus Friedl a contribué au support des versions 1.5 et 2.0 du protocole SSH. |
VOIR AUSSI
ssh(1), ssh-add(1), ssh-agent(1), sshd(8) |
J. Galbraith and R. Thayer, SECSH Public Key File Format, draft-ietf-secsh-publickeyfile-01.txt, March 2001, work in progress material.
ssh-keygen(1) |