Man page - ssh-keygen(1)

Packages contains this manual

Available languages:

en fr uk ro de

Manual


SSH-KEYGEN (1) General Commands Manual SSH-KEYGEN (1)

NOM

ssh-keygen — Utilitaire d’OpenSSH pour la gestion des clĂ©s d’authentification

SYNOPSIS

ssh-keygen [ -q ] [ -a passes ] [ -b bits ] [ -C commentaire ] [ -f fichier_clé_sortie ] [ -m format ] [ -N nouvelle_phrase_secrÚte ] [ -O option ] [ -t ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa ] [ -w fournisseur ] [ -Z algo_chiffrement ]
ssh-keygen -p
[ -a passes ] [ -f fichier_clé ] [ -m format ] [ -N nouvelle_phrase_secrÚte ] [ -P ancienne_phrase_secrÚte ] [ -Z algo_chiffrement ]
ssh-keygen -i
[ -f fichier_clé_entrée ] [ -m format_clé ]
ssh-keygen -e
[ -f fichier_clé_entrée ] [ -m format_clé ]
ssh-keygen -y
[ -f fichier_clé_entrée ]
ssh-keygen -c
[ -a passes ] [ -C commentaire ] [ -f fichier_clé ] [ -P phrase_secrÚte ]
ssh-keygen -l
[ -v ] [ -E hachage_empreinte ] [ -f fichier_clé_entrée ]
ssh-keygen -B
[ -f fichier_clé_entrée ]
ssh-keygen -D
pkcs11
ssh-keygen -F
nom_hĂŽte [ -lv ] [ -f fichier_hĂŽtes_connus ]
ssh-keygen -H
[ -f fichier_hĂŽtes_connus ]
ssh-keygen -K
[ -a passes ] [ -w fournisseur ]
ssh-keygen -R
nom_hĂŽte [ -f fichier_hĂŽtes_connus ]
ssh-keygen -r
nom_hÎte [ -g ] [ -f fichier_clé_entrée ]
ssh-keygen -M generate
[ -O option ] fichier_sortie
ssh-keygen -M screen
[ -f fichier_entrée ] [ -O option ] fichier_sortie
ssh-keygen -I
identité_certificat -s clé_CA [ -hU ] [ -D fournisseur_pkcs11 ] [ -n principals ] [ -O option ] [ -V intervalle_validité ] [ -z numéro_série ] file ...
ssh-keygen -L
[ -f fichier_clé_entrée ]
ssh-keygen -A
[ -a passes ] [ -f chemin_préfixe ]
ssh-keygen -k -f
fichier_krl [ -u ] [ -s clé_publique_ca ] [ -z numéro_version ] file ...
ssh-keygen -Q
[ -l ] -f fichier_krl file ...
ssh-keygen -Y find-principals
[ -O option ] -s fichier_signature -f fichier_signataires_autorisés
ssh-keygen -Y match-principals -I
identité_signataire -f fichier_signataires_autorisés
ssh-keygen -Y check-novalidate
[ -O option ] -n espace_noms -s fichier_signature
ssh-keygen -Y sign
[ -O option ] -f fichier_clé -n espace_noms file ...
ssh-keygen -Y verify
[ -O option ] -f fichier_signataires_autorisés -I identité_signataire -n espace_noms -s fichier_signature [ -r fichier_révocation ]

DESCRIPTION

ssh-keygen gĂ©nĂšre, gĂšre et convertit les clĂ©s d’authentification pour ssh (1). ssh-keygen permet de crĂ©er des clĂ©s Ă  utiliser avec la version 2 du protocole SSH.

Le type de clĂ© Ă  gĂ©nĂ©rer est spĂ©cifiĂ© Ă  l’aide de l’option -t . InvoquĂ©e sans argument, ssh-keygen gĂ©nĂ©rera une clĂ© Ed25519.

ssh-keygen permet aussi de gĂ©nĂ©rer des groupes Ă  utiliser dans le cadre de l’échange de groupe Diffie-Hellman (DH-GEX). Voir la section “GÉNÉRATION DES MODULI” pour les dĂ©tails.

Enfin, ssh-keygen permet de gĂ©nĂ©rer et mettre Ă  jour les listes de rĂ©vocation de clĂ© et de tester si certaines clĂ©s ont Ă©tĂ© rĂ©voquĂ©es par une de ces listes. Voir la section “LISTES DE RÉVOCATION DE CLÉS” pour les dĂ©tails.

En gĂ©nĂ©ral, chaque utilisateur souhaitant utiliser SSH avec une authentification par clĂ© publique lance ce programme une fois pour gĂ©nĂ©rer la clĂ© d’authentification dans ˜/.ssh/id_ecdsa , ˜/.ssh/id_ecdsa_sk , ˜/.ssh/id_ed25519 , ˜/.ssh/id_ed25519_sk ou ˜/.ssh/id_rsa . Éventuellement, l’administrateur systĂšme peut utiliser ce programme pour gĂ©nĂ©rer des clĂ©s d’hĂŽte.

Normalement, ce programme gĂ©nĂšre la clĂ© et demande un nom de fichier pour stocker la clĂ© privĂ©e. La clĂ© publique est stockĂ©e dans un fichier de mĂȘme nom suffixĂ© par « .pub ». Le programme demande aussi une phrase secrĂšte. La phrase secrĂšte peut ĂȘtre vide, ce qui Ă©quivaut une absence de phrase secrĂšte (les clĂ©s d’hĂŽte doivent avoir une phrase secrĂšte vide), ou une chaĂźne de caractĂšres de longueur quelconque. Une phrase secrĂšte est semblable Ă  un mot de passe, Ă  la diffĂ©rence qu’elle peut ĂȘtre une phrase avec des mots, des caractĂšres de ponctuation, des chiffres, des blancs ou n’importe quelle chaĂźne de caractĂšres. Une bonne phrase secrĂšte doit comporter 10 à 30 caractĂšres et ne doit pas ĂȘtre une phrase simple ou facile Ă  deviner (pour information, la prose anglaise a seulement un Ă  deux bits d’entropie par caractĂšre et fournit de trĂšs mauvaises phrases secrĂštes) ; elle doit en outre comporter un mĂ©lange de capitales, de minuscules, de chiffres et de caractĂšres non alphanumĂ©riques. La phrase secrĂšte peut ĂȘtre modifiĂ©e par la suite Ă  l’aide de l’option -p .

Il n’y a aucun moyen de retrouver une phrase secrĂšte oubliĂ©e. Si on oublie la phrase secrĂšte, il faut gĂ©nĂ©rer une nouvelle clĂ© et copier la clĂ© publique correspondante sur les autres machines.

Par dĂ©faut, ssh-keygen gĂ©nĂšre les clĂ©s sous un format spĂ©cifique Ă  OpenSSH. Ce format est prĂ©fĂ©rĂ©, car il offre une meilleure protection des clĂ©s Ă  son emplacement et permet le stockage des commentaires de la clĂ© dans le fichier de clĂ© privĂ©e lui-mĂȘme. Le commentaire de la clĂ© peut faciliter l’identification de la clĂ©. Son contenu initial est « utilisateur@hĂŽte » Ă  la crĂ©ation de la clĂ©, mais il peut ĂȘtre modifiĂ© Ă  l’aide de l’option -c .

ssh-keygen peut encore gĂ©nĂ©rer des clĂ©s privĂ©es au format PEM prĂ©cĂ©demment utilisĂ© en spĂ©cifiant l’option -m . Cette option peut ĂȘtre utilisĂ©e pour gĂ©nĂ©rer une nouvelle clĂ© ou, pour une clĂ© existante au nouveau format, convertir cette derniĂšre en utilisant cette option en combinaison avec l’option -p (changer la phrase secrĂšte).

Une fois la clĂ© gĂ©nĂ©rĂ©e, ssh-keygen demandera oĂč stocker les clĂ©s pour les activer.

Les options sont les suivantes :

-A

GĂ©nĂ©rer des clĂ©s d’hĂŽte de tous les types par dĂ©faut (rsa, ecdsa et ed25519) si elles n’existent pas dĂ©jĂ . Les clĂ©s d’hĂŽte sont gĂ©nĂ©rĂ©es avec le chemin du fichier de clĂ© par dĂ©faut, une phrase secrĂšte vide, les bits par dĂ©faut pour le type de clĂ© et un commentaire par dĂ©faut. Si l’option -f a aussi Ă©tĂ© spĂ©cifiĂ©e, son argument est utilisĂ© comme prĂ©fixe au chemin par dĂ©faut des fichiers de clĂ© d’hĂŽte rĂ©sultants. Ce programme est utilisĂ© dans les scripts d’administration systĂšme pour gĂ©nĂ©rer de nouvelles clĂ©s d’hĂŽte.

-a passes

Lors de l’enregistrement d’une clĂ© privĂ©e, cette option permet de spĂ©cifier le nombre de passes KDF (key derivation function, actuellement bcrypt_pbkdf (3)) utilisĂ©. Un nombre plus Ă©levĂ© implique une vĂ©rification plus lente de la phrase secrĂšte et augmente la rĂ©sistance aux tentatives de craquage du mot de passe par force brute (en cas de vol de clĂ©s). La valeur par dĂ©faut est de 16 passes.

-B

Cette option permet d’afficher un condensĂ© « bubblebabble » (encodĂ© en alternant consonnes et voyelles, NDT) du fichier de clĂ© privĂ©e ou publique spĂ©cifiĂ©.

-b bits

Cette option permet de spĂ©cifier le nombre de bits que la clĂ© Ă  crĂ©er devra comporter. Pour les clĂ©s RSA, la valeur minimale est de 1024 bits et la valeur par dĂ©faut est de 3072 bits. En gĂ©nĂ©ral, on considĂšre qu’une longueur de 3072 bits est suffisante. Pour les clĂ©s ECDSA, l’option -b dĂ©termine la longueur de la clĂ© en spĂ©cifiant une des trois tailles de courbe elliptique suivantes : 256, 384 ou 521 bits. Toute tentative d’utiliser des tailles autres que ces trois valeurs pour une clĂ© ECDSA Ă©chouera. Les clĂ©s ECDSA-SK, Ed25519 et Ed25519-SK possĂšdent une taille fixe et dans leur cas, l’option -b sera ignorĂ©e.

-C comment

Cette option permet de fournir un nouveau commentaire.

-c

Cette option permet de changer le commentaire des fichiers de clés publique et privée. Le programme demande de fournir le nom du fichier contenant la clé privée, la phrase secrÚte si la clé en possÚde une et le nouveau commentaire.

-D pkcs11

Cette option permet de tĂ©lĂ©charger les clĂ©s publiques fournies par la bibliothĂšque partagĂ©e PKCS#11 pkcs11 . Lorsqu’elle est utilisĂ©e en combinaison avec l’option -s , cette option indique qu’une clĂ© de CA rĂ©side dans un jeton PKCS#11 (voir la section “CERTIFICATS” pour les dĂ©tails).

-E hachage_empreinte

Cette option permet de spĂ©cifier l’algorithme de hachage utilisĂ© pour l’affichage des empreintes de clĂ©. Les options valables sont « md5 » et « sha256 ». La valeur par dĂ©faut est « sha256 ».

-e

Cette option lit un fichier de clĂ© publique ou privĂ©e D’OpenSSH et affiche la clĂ© publique sur la sortie standard sous un des formats spĂ©cifiĂ©s Ă  l’aide de l’option -m . Le format d’export par dĂ©faut est « RFC4716 ». Cette option permet d’exporter des clĂ©s d’OpenSSH pour qu’elles puissent ĂȘtre utilisĂ©es par d’autres programmes, Ă  l’instar de plusieurs implĂ©mentations commerciales de SSH.

-F nom_hĂŽte | [nom_hĂŽte]:port

Rechercher le nom_hĂŽte spĂ©cifiĂ© (avec un numĂ©ro de port optionnel) dans un fichier known_hosts en listant toutes les occurrences trouvĂ©es. Cette option s’avĂšre utile pour trouver des adresses ou des noms d’hĂŽte hachĂ©s et permet aussi, en combinaison avec l’option -H , d’afficher les clĂ©s trouvĂ©es sous un format hachĂ©.

-f nom_fichier

Cette option permet de spécifier le nom du fichier de clé.

-g

Utiliser le format DNS gĂ©nĂ©rique pour l’affichage d’enregistrements de ressources de type empreinte Ă  l’aide de l’option -r .

-H

Cette option permet de hacher un fichier known_hosts . Elle remplace tous les noms d’hĂŽte et adresses par leur reprĂ©sentation hachĂ©e dans le fichier spĂ©cifié ; le contenu originel est dĂ©placĂ© vers un fichier de mĂȘme nom suffixĂ© par « .old ». Ces hachages peuvent normalement ĂȘtre utilisĂ©s par ssh et sshd , mais ils ne rĂ©vĂšlent aucune information d’identification en cas de divulgation du contenu du fichier. Cette option ne modifie pas les noms d’hĂŽte hachĂ©s existants et peut donc ĂȘtre utilisĂ©e en toute sĂ©curitĂ© avec des fichiers qui mĂ©langent des noms hachĂ©s et non hachĂ©s.

-h

Lors de la signature d’une clĂ©, crĂ©er un certificat d’hĂŽte au lieu d’un certificat d’utilisateur. Voir la section “CERTIFICATS” pour les dĂ©tails.

-I identité_certificat

Cette option permet de spĂ©cifier l’identitĂ© de la clĂ© lors de la signature d’une clĂ© publique. Voir la section “CERTIFICATS” pour les dĂ©tails.

-i

Cette option lit un fichier de clĂ© privĂ©e (ou publique) non chiffrĂ© dans le format spĂ©cifiĂ© Ă  l’aide de l’option -m et affiche une clĂ© privĂ©e (ou publique) compatible avec OpenSSH sur la sortie standard. Cette option permet d’importer des clĂ©s depuis d’autres logiciels, Ă  l’instar de plusieurs implĂ©mentations commerciales de SSH.

-K

TĂ©lĂ©charger des clĂ©s rĂ©sidentes depuis un authentificateur FIDO. Les fichiers de clĂ© publique et privĂ©e correspondant Ă  chaque clĂ© tĂ©lĂ©chargĂ©e seront Ă©crits dans le rĂ©pertoire actuel. Si plusieurs authentificateurs FIDO sont attachĂ©s, les clĂ©s seront tĂ©lĂ©chargĂ©es depuis le premier authentificateur atteint. Voir la section “AUTHENTIFICATEUR FIDO” pour plus d’informations.

-k

Cette option permet de gĂ©nĂ©rer un fichier KRL. Dans ce mode, ssh-keygen gĂ©nĂšre un fichier KRL Ă  l’emplacement spĂ©cifiĂ© Ă  l’aide de l’option -f qui rĂ©voque toute clĂ© ou tout certificat prĂ©sent sur la ligne de commande. Les clĂ©s ou certificats Ă  rĂ©voquer peuvent ĂȘtre spĂ©cifiĂ©s Ă  l’aide du fichier de clĂ© publique correspondant ou en utilisant le format dĂ©crit dans la section “LISTES DE RÉVOCATION DE CLÉS”.

-L

Afficher le contenu d’un ou plusieurs certificats.

-l

Cette option permet d’afficher l’empreinte du fichier de clĂ© publique spĂ©cifiĂ©. ssh-keygen essaie de trouver le fichier de clĂ© publique correspondant et affiche son empreinte. En combinaison avec l’option -v , cette option affiche une reprĂ©sentation visuelle de la clĂ© en art ASCII en plus de l’empreinte.

-M generate

Cette option permet de gĂ©nĂ©rer une proposition de paramĂštres Diffie-Hellman Group Exchange (DH-GEX) pour une utilisation Ă©ventuelle par les mĂ©thodes d’échange de clĂ©s « diffie-hellman-group-exchange-* ». Les nombres gĂ©nĂ©rĂ©s par cette opĂ©ration doivent ĂȘtre examinĂ©s plus en dĂ©tail avant utilisation. Voir la section “GÉNÉRATION DES MODULI” pour plus d’informations.

-M screen

Examiner une proposition de paramĂštres Diffie-Hellman Group Exchange. Cette option accepte en argument une liste de paramĂštres suggĂ©rĂ©s et vĂ©rifie s’ils sont des nombres premiers sĂ»rs (nombres premiers de Sophie Germain) avec des gĂ©nĂ©rateurs de groupe acceptables. Les rĂ©sultats de cette opĂ©ration peuvent ĂȘtre ajoutĂ©s au fichier /etc/ssh/moduli . Voir la section “GÉNÉRATION DES MODULI” pour plus d’informations.

-m format_clé

Cette option permet de spĂ©cifier un format de clĂ© pour la crĂ©ation de clĂ©, les options de conversion -i (import) et -e (export) et l’opĂ©ration de changement de phrase secrĂšte -p . Cette derniĂšre permet d’effectuer une conversion entre les formats de clĂ© privĂ©e OpenSSH et PEM. Les formats de clĂ© pris en charge sont : « RFC4716 » (clĂ© publique ou privĂ©e RFC 4716/SSH2), « PKCS8 » (clĂ© publique ou privĂ©e PKCS8) ou « PEM » (clĂ© publique PEM). Par dĂ©faut, OpenSSH Ă©crit les clĂ©s privĂ©es nouvellement créées sous son format propre, mais pour la conversion de clĂ©s publiques pour l’exportation, le format par dĂ©faut est «  RFC4716 ». Si le format spĂ©cifiĂ© est « PEM » lors de la crĂ©ation ou de la mise Ă  jour d’un type de clĂ© privĂ©e pris en charge, la clĂ© sera Ă©crite sous le format de clĂ© privĂ©e patrimonial PEM.

-N nouvelle_phrase_secrĂšte

Cette option permet de spécifier la nouvelle phrase secrÚte.

-n principals

Cette option permet de spĂ©cifier un ou plusieurs « principals » (noms d’hĂŽte ou d’utilisateur) Ă  inclure dans un certificat lors de la signature d’une clĂ©. Plusieurs « principals » peuvent ĂȘtre spĂ©cifiĂ©s en les sĂ©parant par des virgules (NDT : un « principal » est une chaĂźne arbitraire dĂ©finie au niveau du serveur pour un utilisateur et devant ĂȘtre prĂ©sente dans le certificat du client pour que ce dernier puisse se connecter). Voir la section “CERTIFICATS” pour les dĂ©tails.

-O option

SpĂ©cifier une option sous la forme d’une paire mot-clĂ©/valeur. Cette derniĂšre est spĂ©cifique Ă  l’opĂ©ration que ssh-keygen doit effectuer.

Une des options rĂ©pertoriĂ©es dans la section “CERTIFICATS” peut ĂȘtre spĂ©cifiĂ©e ici lors de la signature des certificats.

Une des options rĂ©pertoriĂ©es dans la section “GÉNÉRATION DES MODULI” peut ĂȘtre spĂ©cifiĂ©e lors de la gĂ©nĂ©ration ou la vĂ©rification des moduli.

Les options rĂ©pertoriĂ©es dans la section “AUTHENTIFICATEUR FIDO” peuvent ĂȘtre spĂ©cifiĂ©es lors de la gĂ©nĂ©ration de clĂ©s hĂ©bergĂ©es par un authentificateur FIDO.

Lorsqu’on effectue des opĂ©rations en rapport avec une signature Ă  l’aide de l’option -Y , les options suivantes sont valables :

hashalg = algorithme

SĂ©lectionner l’algorithme de hachage Ă  utiliser pour hacher le message Ă  signer. Les algorithmes valables sont « sha256 » et « sha512 ». La valeur par dĂ©faut est« sha512 ».

print-pubkey

Afficher l’intĂ©gralitĂ© de la clĂ© publique sur la sortie standard aprĂšs vĂ©rification de la signature.

verify-time = horodatage

SpĂ©cifier une heure Ă  utiliser Ă  la place de l’heure actuelle pour la validation d’une signature. L’heure peut ĂȘtre spĂ©cifiĂ©e sous forme de date ou d’heure au format AAAAMMJJ[Z] ou AAAAMMJJHHMM[SS][Z]. Les dates et heures seront interprĂ©tĂ©es selon le fuseau horaire actuel du systĂšme, sauf si elles sont suffixĂ©es du caractĂšre « Z », auquel cas elles seront interprĂ©tĂ©es selon le fuseau horaire UTC.

Lors d’une gĂ©nĂ©ration d’enregistrements DNS SSHFP Ă  partir de clĂ©s publiques Ă  l’aide de l’option -r , les options valables sont les suivantes :

hashalg = algorithme

SĂ©lectionner un algorithme de hachage Ă  utiliser pour l’affichage des enregistrements SSHFP Ă  l’aide de l’option -D . Les algorithmes disponibles sont « sha1 » et « sha256 ». Par dĂ©faut, les enregistrements sont affichĂ©s en utilisant les deux algorithmes.

L’option -O peut ĂȘtre spĂ©cifiĂ©e plusieurs fois.

-P phrase_secrĂšte

Fournir la phrase secrùte (l’ancienne).

-p

Demander de changer la phrase secrĂšte d’un fichier de clĂ© privĂ©e au lieu de crĂ©er une nouvelle clĂ© privĂ©e. Le programme demandera le nom du fichier contenant la clĂ© privĂ©e, l’ancienne phrase secrĂšte et deux fois la nouvelle phrase secrĂšte.

-Q

Tester si les clĂ©s ont Ă©tĂ© rĂ©voquĂ©es dans une KRL. Si l’option -l est spĂ©cifiĂ©e, le contenu de la KRL sera affichĂ©.

-q

Rendre silencieux ssh-keygen .

-R nom_hĂŽte | [nom_hĂŽte]:port

Supprimer d’un fichier known_hosts toutes les clĂ©s appartenant au nom_hĂŽte spĂ©cifiĂ© (accompagnĂ© Ă©ventuellement du numĂ©ro de port). Cette option s’avĂšre utile pour supprimer des hĂŽtes hachĂ©s (voir l’option -H ci-dessus).

-r nom_hĂŽte

Afficher l’enregistrement de ressource d’empreinte SSHFP nommĂ© nom_hĂŽte pour le fichier de clĂ© publique spĂ©cifiĂ©.

-s clé_CA

Certifier (signer) une clĂ© publique Ă  l’aide de la clĂ© de CA spĂ©cifiĂ©e. Voir la section “CERTIFICATS” pour les dĂ©tails.

À la gĂ©nĂ©ration d’une KRL (liste de rĂ©vocation de clĂ©s, NDT), l’option -s permet de spĂ©cifier le chemin d’un fichier de clĂ© publique de CA utilisĂ© pour rĂ©voquer des certificats directement Ă  l’aide du numĂ©ro de sĂ©rie ou de l’identifiant de la clĂ©. Voir la section “LISTES DE RÉVOCATION DE CLÉS” pour les dĂ©tails.

-t ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa

Cette option permet de spécifier le type de la clé à créer. Les valeurs possibles sont « ecdsa », « ecdsa-sk », « ed25519 » (par défaut), « ed25519-sk » ou « rsa ».

Cette option permet aussi de spĂ©cifier le type de signature souhaitĂ© pour la signature de certificats Ă  l’aide d’une clĂ© de CA RSA. Les types de signature RSA disponibles sont « ssh-rsa » (signatures SHA1, non recommandĂ©), « rsa-sha2-256 » et « rsa-sha2-512 » (par dĂ©faut pour les clĂ©s RSA).

-U

UtilisĂ©e en combinaison avec -s ou -Y sign , cette option indique qu’une clĂ© de CA rĂ©side dans un agent ssh-agent (1). Voir la section “CERTIFICATS” pour plus d’informations.

-u

Mettre Ă  jour une KRL. Si cette option est utilisĂ©e en combinaison avec l’option -k , au lieu de crĂ©er une nouvelle KRL, les clĂ©s listĂ©es sur la ligne de commande sont ajoutĂ©es Ă  la KRL existante.

-V intervalle_validité

Cette option permet de spĂ©cifier un intervalle de validitĂ© lors d’une signature de certificat. Un intervalle de validitĂ© peut ĂȘtre une simple date, indiquant que le certificat est valable Ă  partir de maintenant et jusqu’à cette date, ou peut comporter deux dates sĂ©parĂ©es par un « : » pour indiquer un intervalle de validitĂ© explicite.

L’heure de dĂ©but peut ĂȘtre spĂ©cifiĂ©e par :

‱

La chaĂźne « always » pour indiquer que le certificat n’a pas de date de dĂ©but de validitĂ© spĂ©cifiĂ©e.

‱

Une date ou heure dans le fuseau horaire du systÚme et indiquée sous la forme AAAAMMDD ou AAAAMMDDHHMM[SS].

‱

Une date ou heure dans le fuseau horaire UTC et indiquée sous la forme AAAAMMJJZ ou AAAAMMJJHHMM[SS]Z.

‱

Une heure relative antĂ©rieure Ă  l’heure systĂšme actuelle et comportant un signe moins suivi d’un intervalle dans le format dĂ©crit dans la section FORMATS DE TEMPS de sshd_config (5).

‱

Un nombre de secondes aprĂšs l’Époque (1er janvier 1970 00:00:00 UTC) sous la forme d’un nombre hexadĂ©cimal commençant par « 0x ».

L’heure de fin peut ĂȘtre spĂ©cifiĂ©e de maniĂšre similaire Ă  l’heure de dĂ©but :

‱

La chaĂźne « forever » pour indiquer que le certificat n’a pas de date de fin de validitĂ© spĂ©cifiĂ©e.

‱

Une date ou heure dans le fuseau horaire du systÚme et indiquée sous la forme AAAAMMDD ou AAAAMMDDHHMM[SS].

‱

Une date ou heure dans le fuseau horaire UTC et indiquée sous la forme AAAAMMJJZ ou AAAAMMJJHHMM[SS]Z.

‱

Une heure relative postĂ©rieure Ă  l’heure systĂšme actuelle et comportant un signe plus suivi d’un intervalle dans le format dĂ©crit dans la section FORMATS DE TEMPS de sshd_config (5).

‱

Un nombre de secondes aprĂšs l’Époque (1er janvier 1970 00:00:00 UTC) sous la forme d’un nombre hexadĂ©cimal commençant par « 0x ».

Par exemple :

+52w1d

Le certificat est valable à partir de maintenant et pour une durée de 52 semaines et 1 jour.

-4w:+4w

Le certificat était valable les quatre derniÚres semaines et le sera encore pendant les quatre prochaines semaines.

20100101123000:20110101123000

Le certificat est valable du 1er janvier 2010 à 12 h 30 au 1er janvier 2011 à 12 h 30.

20100101123000Z:20110101123000Z

Identique, mais exprimé en temps universel UTC.

-1d:20110101

Le certificat est valable depuis hier et jusqu’au 1er janvier 2011 à minuit.

0x1:0x2000000000

Le certificat est valable depuis le tout dĂ©but de 1970 et jusqu’à mai 2033.

-1m:forever

Le certificat est valable depuis 1 minute et n’expirera jamais.

-v

Mode prolixe. Si cette option est utilisĂ©e, ssh-keygen affichera des messages de dĂ©bogage Ă  propos de son exĂ©cution. Cette option s’avĂšre utile pour le dĂ©bogage de la gĂ©nĂ©ration des moduli. SpĂ©cifier plusieurs fois l’option -v (au maximum 3) augmente la prolixitĂ©.

-w fournisseur

Cette option permet de spĂ©cifier le chemin d’une bibliothĂšque qui sera utilisĂ©e pour la crĂ©ation de clĂ©s hĂ©bergĂ©es par un authentificateur FIDO, outrepassant par lĂ  mĂȘme le comportement par dĂ©faut consistant Ă  utiliser la prise en charge interne de USB HID.

-Y find-principals

Cette option permet de trouver le(s) « principal(s) » associĂ©s Ă  la clĂ© publique d’une signature spĂ©cifiĂ©e Ă  l’aide de l’option -s dans un fichier de signataires autorisĂ©s spĂ©cifiĂ© Ă  l’aide de l’option -f . Le format du fichier de signataires autorisĂ©s est documentĂ© dans la section “SIGNATAIRES AUTORISÉS” ci-dessous. Si un ou plusieurs « principals » correspondants sont trouvĂ©s, ils sont renvoyĂ©s sur la sortie standard.

-Y match-principals

Trouver le « principal » correspondant au nom de principal fourni Ă  l’aide de l’option -I dans le fichier de signataires autorisĂ©s spĂ©cifiĂ© Ă  l’aide de l’option -f . Si un ou plusieurs « principals » qui correspondent sont trouvĂ©s, ils sont renvoyĂ©s sur la sortie standard.

-Y check-novalidate

VĂ©rifier qu’une signature gĂ©nĂ©rĂ©e Ă  l’aide de ssh-keygen -Y sign possĂšde une structure valable. Cette vĂ©rification ne garantit pas qu’une signature provient d’un signataire autorisĂ©. Lors d’une vĂ©rification de signature, ssh-keygen peut recevoir un message sur l’entrĂ©e standard et un espace de noms de signature Ă  l’aide de l’option -n . Le nom d’un fichier contenant la signature correspondante doit aussi ĂȘtre fourni Ă  l’aide de l’option -s . Si la signature est testĂ©e avec succĂšs, ssh-keygen renvoie un code de retour de 0 .

-Y sign

Signer de maniĂšre cryptographique un fichier ou des donnĂ©es quelconques en utilisant une clĂ© SSH. Lors d’une signature, ssh-keygen reçoit zĂ©ro ou plusieurs noms de fichier sur la ligne de commande — si aucun nom de fichier n’est spĂ©cifiĂ©, ssh-keygen signera les donnĂ©es prĂ©sentĂ©es sur l’entrĂ©e standard. Les signatures sont Ă©crites Ă  l’emplacement du fichier d’entrĂ©e avec l’extension « .sig » ou sur la sortie standard si le message Ă  signer a Ă©tĂ© lu sur l’entrĂ©e standard.

La clĂ© utilisĂ©e pour la signature est spĂ©cifiĂ©e Ă  l’aide de l’option -f et peut correspondre Ă  une clĂ© privĂ©e ou Ă  une clĂ© publique, la contrepartie privĂ©e Ă©tant fournie dans ce dernier cas par l’agent ssh-agent (1). Pour Ă©viter de confondre des signatures entre diffĂ©rents domaines d’utilisation (signature d’un fichier vs signature d’un courriel par exemple), un espace de noms de signature additionnel doit ĂȘtre spĂ©cifiĂ© Ă  l’aide de l’option -n . Les espaces de noms sont des chaĂźnes arbitraires pouvant contenir « fichier » pour la signature d’un fichier ou « courriel » pour la signature d’un email. Pour une utilisation personnalisĂ©e, il est recommandĂ© d’utiliser des noms suivant un motif ESPACE_NOMS@VOTRE_DOMAINE pour gĂ©nĂ©rer des espaces de noms dĂ©pourvus d’ambiguĂŻtĂ©.

-Y verify

Demander la vĂ©rification d’une signature gĂ©nĂ©rĂ©e en utilisant la commande ssh-keygen -Y sign comme dĂ©crit ci-dessus. Lors d’une vĂ©rification de signature, ssh-keygen peut recevoir un message sur l’entrĂ©e standard et un espace de noms de signature Ă  l’aide de l’option -n . Le nom d’un fichier contenant la signature correspondante doit aussi ĂȘtre fourni Ă  l’aide de l’option -s , accompagnĂ© de l’identitĂ© du signataire Ă  l’aide de l’option -I et d’une liste de signataires autorisĂ©s Ă  l’aide de l’option -f . Le format du fichier des signataires autorisĂ©s est documentĂ© dans la section “SIGNATAIRES AUTORISÉS” ci-dessous. Le nom d’un fichier contenant la liste des clĂ©s rĂ©voquĂ©es peut ĂȘtre fourni Ă  l’aide de l’option -r . Le fichier des rĂ©vocations de clĂ©s peut ĂȘtre une KRL (Key Revocation List) ou une liste de clĂ©s publiques (une par ligne). ssh-keygen renvoie un code de retour de 0 en cas de vĂ©rification avec succĂšs par un signataire autorisĂ©.

-y

Cette option permet de lire un fichier privĂ© au format OpenSSH et d’afficher une clĂ© publique OpenSSH sur la sortie standard.

-Z algo_chiffrement

Cette option permet de spĂ©cifier l’algorithme Ă  utiliser pour le chiffrement d’un fichier de clĂ© privĂ©e au format OpenSSH. La liste des algorithmes disponibles peut ĂȘtre obtenue Ă  l’aide de la commande « ssh -Q cipher ». L’algorithme par dĂ©faut est « aes256-ctr ».

-z numéro_série

Cette option permet de spĂ©cifier un numĂ©ro de sĂ©rie Ă  inclure dans le certificat afin de le diffĂ©rencier des autres certificats du mĂȘme CA. Si le numĂ©ro_sĂ©rie est prĂ©fixĂ© avec le caractĂšre « + », il sera incrĂ©mentĂ© pour chaque certificat signĂ© sur une seule ligne de commande. Le numĂ©ro de sĂ©rie par dĂ©faut est 0.

Lorsqu’on gĂ©nĂšre une KRL, l’option -z permet de spĂ©cifier le numĂ©ro de version de cette KRL.

GÉNÉRATION DES MODULI

ssh-keygen permet de gĂ©nĂ©rer des groupes pour le protocole Diffie-Hellman Group Exchange (DH-GEX). La gĂ©nĂ©ration de ces groupes est un processus en deux Ă©tapes. D’abord, les nombres premiers candidats sont gĂ©nĂ©rĂ©s en utilisant un processus rapide mais gourmand en mĂ©moire. Ces nombres premiers candidats sont alors testĂ©s pour leur pertinence (processus utilisant intensĂ©ment le CPU).

La gĂ©nĂ©ration des nombres premiers est effectuĂ©e en utilisant l’option -M generate . La longueur souhaitĂ©e des nombres premiers peut ĂȘtre spĂ©cifiĂ©e Ă  l’aide de l’option -O bits . Par exemple :

# ssh-keygen -M generate -O bits=2048 moduli-2048.candidates

Par dĂ©faut, la recherche de nombres premiers dĂ©bute par une valeur alĂ©atoire dans l’intervalle correspondant Ă  la longueur souhaitĂ©e, mais il est possible de modifier cette valeur Ă  l’aide de l’option -O start qui permet d’indiquer un point de dĂ©part diffĂ©rent (en hexadĂ©cimal).

Lorsqu’un jeu de candidats a Ă©tĂ© gĂ©nĂ©rĂ©, ils doivent ĂȘtre testĂ©s pour vĂ©rifier s’ils conviennent. Pour ce faire, on utilise l’option -M screen . Dans ce mode, ssh-keygen va lire la liste des candidats sur l’entrĂ©e standard (ou dans un fichier spĂ©cifiĂ© Ă  l’aide de l’option -f ). Par exemple :

# ssh-keygen -M screen -f moduli-2048.candidates moduli-2048

Par dĂ©faut, chaque candidat subit 100 tests de primalitĂ©. Ce nombre peut ĂȘtre modifiĂ© Ă  l’aide de l’option -O prime-tests . La valeur de gĂ©nĂ©rateur DH sera choisie automatiquement pour le nombre premier considĂ©rĂ©. Si un gĂ©nĂ©rateur spĂ©cifique est souhaitĂ©, il sera spĂ©cifiĂ© Ă  l’aide de l’option -O generator . Les valeurs de gĂ©nĂ©rateur valables sont 2, 3 et 5.

Les groupes DH testĂ©s peuvent ĂȘtre installĂ©s dans /etc/ssh/moduli . Il est important que ce fichier contienne des moduli dans une plage de longueurs en bits.

Plusieurs options sont disponibles pour la gĂ©nĂ©ration et la vĂ©rification des moduli par l’intermĂ©diaire de l’option -O :

lines = nombre

Quitter aprÚs avoir vérifié le nombre de lignes spécifié lors du test des candidats DH.

start-line = numéro_ligne

Débuter la vérification au numéro de ligne spécifié pour le test des candidats DH.

checkpoint = nom_fichier

Écrire la derniĂšre ligne traitĂ©e dans le fichier spĂ©cifiĂ© lors du test des candidats DH. Cela permet de sauter les lignes du fichier d’entrĂ©e qui ont dĂ©jĂ  Ă©tĂ© traitĂ©es si la tĂąche est relancĂ©e.

memory = mégaoctets

Cette option permet de spécifier la quantité de mémoire à utiliser (en mégaoctets) pour la génération des moduli pour DH-GEX (Diffie-Hellman group exchange).

start = valeur_hexadécimale

Spécifier un point de départ (en hexadécimal) pour la génération des moduli pour DH-GEX (Diffie-Hellman group exchange).

generator = valeur

Spécifier le générateur souhaité (en décimal) lors du test des moduli candidats pour DH-GEX (Diffie-Hellman group exchange).

CERTIFICATS

ssh-keygen prend en charge la signature des clĂ©s pour produire des certificats qui pourront ĂȘtre utilisĂ©s pour l’authentification des utilisateurs ou des hĂŽtes. Un certificat comporte une clĂ© publique, des informations relatives Ă  l’identitĂ©, zĂ©ro ou plusieurs noms de « principal » (utilisateur ou hĂŽte) et un jeu d’options signĂ©s par une clĂ© d’autoritĂ© de certification (CA). Au lieu de devoir considĂ©rer comme fiables plusieurs clĂ©s d’utilisateur ou d’hĂŽte, les clients ou les serveurs peuvent alors se contenter de ne considĂ©rer comme fiable que la clĂ© de CA et de vĂ©rifier sa signature sur un certificat. Notez que les certificats OpenSSH possĂšdent un format diffĂ©rent (et beaucoup plus simple) de celui des certificats X509 utilisĂ©s dans ssl (8).

ssh-keygen prend en charge deux types de certificat : utilisateur et hĂŽte. Les certificats utilisateur authentifient les utilisateurs auprĂšs des serveurs, alors que les certificats d’hĂŽte authentifient les hĂŽtes serveur auprĂšs des utilisateurs. Pour gĂ©nĂ©rer un certificat utilisateur :

$ ssh-keygen -s /chemin/vers/clé_CA -I key_id /chemin/vers/clé_utilisateur.pub

Le certificat obtenu sera placĂ© dans /chemin/vers/clĂ©_utilisateur-cert.pub . La crĂ©ation d’un certificat d’hĂŽte nĂ©cessite l’option -h :

$ ssh-keygen -s /chemin/vers/clé_CA -I id_clé -h /chemin/vers/clé_hÎte.pub

Le certificat d’hĂŽte obtenu sera placĂ© dans /chemin/vers/clĂ©_hĂŽte-cert.pub .

Il est possible de signer en utilisant une clĂ© de CA stockĂ©e dans un jeton PKCS#11 en fournissant la bibliothĂšque de jeton Ă  l’aide de l’option -D et en identifiant la clĂ© de CA en fournissant sa partie publique comme argument de l’option -s :

$ ssh-keygen -s clé_CA.pub -D libpkcs11.so -I id_clé clé_utilisateur.pub

De mĂȘme, il est possible de faire hĂ©berger la clĂ© de CA par un agent ssh-agent (1) en utilisant l’option -U ; lĂ  encore, la clĂ© de CA doit ĂȘtre identifiĂ©e par sa partie publique.

$ ssh-keygen -Us clé_CA.pub -I id_clé clé_utilisateur.pub

Dans tous les cas, id_clĂ© est un « identifiant de clé » qui est conservĂ© par le serveur lorsque le certificat est utilisĂ© pour l’authentification.

La validitĂ© des certificats peut ĂȘtre limitĂ©e Ă  un jeu de noms de « principal » (utilisateur/hĂŽte). Par dĂ©faut, les certificats gĂ©nĂ©rĂ©s sont valables pour tous les utilisateurs ou hĂŽtes. Pour gĂ©nĂ©rer un certificat valable pour un jeu de « principals » spĂ©cifié :

$ ssh-keygen -s clé_CA -I id_clé -n utilisateur1,utilisateur2 clé_utilisateur.pub
$ ssh-keygen -s clé_CA -I id_clé -h -n hÎte.domaine clé_hÎte.pub

D’autres limitations de la validitĂ© et de l’utilisation des certificats utilisateur peuvent ĂȘtre spĂ©cifiĂ©es Ă  l’aide d’options de certificat. Une option de certificat pourra dĂ©sactiver des fonctionnalitĂ©s de la session SSH, pourra n’ĂȘtre valable que si prĂ©sentĂ©e depuis des adresses source particuliĂšres ou pourra forcer l’utilisation d’une commande spĂ©cifique.

Les option disponibles pour les certificats utilisateur sont :

clear

Supprimer toutes les permissions activĂ©es. Cette option s’avĂšre utile pour supprimer le jeu de permissions par dĂ©faut de façon Ă  pouvoir ajouter des permissions individuellement.

critical : nom [= contenu ]
extension
: nom [= contenu ]

Inclure une option ou extension critique de certificat arbitraire. Le nom spĂ©cifiĂ© doit contenir un suffixe de domaine comme « nom@example.com ». Si contenu est spĂ©cifiĂ©, il est inclus comme contenu de l’extension/option codĂ©e en tant que chaĂźne ; dans le cas contraire, l’extension/option est créée sans contenu (ce qui indique en gĂ©nĂ©ral qu’il s’agit d’un drapeau). Un client ou un serveur qui ne reconnaĂźt pas une extension peut l’ignorer, attendu que les options critiques inconnues entraĂźneront le rejet du certificat.

force-command = commande

Forcer l’exĂ©cution de la commande Ă  la place de toute commande ou tout interprĂ©teur de commande spĂ©cifiĂ© par l’utilisateur quand le certificat est utilisĂ© pour l’authentification.

no-agent-forwarding

Désactiver la redirection de ssh-agent (1) (autorisée par défaut).

no-port-forwarding

Désactiver la redirection de port (autorisée par défaut).

no-pty

DĂ©sactiver l’allocation de pseudo-terminal (autorisĂ©e par dĂ©faut).

no-user-rc

DĂ©sactiver l’exĂ©cution de ˜/.ssh/rc par sshd (8) (autorisĂ©e par dĂ©faut).

no-x11-forwarding

Désactiver la redirection de X11 (autorisée par défaut).

permit-agent-forwarding

Autoriser la redirection de ssh-agent (1).

permit-port-forwarding

Autoriser la redirection de port.

permit-pty

Autoriser l’allocation de pseudo-terminal.

permit-user-rc

Autoriser l’exĂ©cution de ˜/.ssh/rc par sshd (8).

permit-X11-forwarding

Autoriser la redirection de X11.

no-touch-required

Ne pas exiger que les signatures effectuĂ©es Ă  l’aide de cette clĂ© incluent la preuve de la prĂ©sence de l’utilisateur (par exemple en exigeant que l’utilisateur touche l’authentificateur). Cette option n’est pertinente que pour les algorithmes d’authentificateur FIDO ecdsa-sk et ed25519-sk .

source-address = liste_adresses

Restreindre les adresses source Ă  partir desquelles le certificat est considĂ©rĂ© comme valable. liste_adresses est une liste, sĂ©parĂ©e par des virgules, d’une ou plusieurs paires adresse/masque rĂ©seau au format CIDR.

verify-required

Exiger que les signatures faites avec cette clĂ© mentionnent que l’utilisateur a prĂ©alablement Ă©tĂ© vĂ©rifiĂ©, par exemple avec un code ou un token biomĂ©trique. Cette option n’a de sens que pour les algorithmes de l’authentificateur FIDO ecdsa-sk and ed25519-sk .

À l’heure actuelle, aucune option standard n’est valable pour les clĂ©s d’hĂŽte.

Pour finir, un certificat peut ĂȘtre dĂ©fini avec une durĂ©e de validitĂ©. À cet effet, l’option -V permet de spĂ©cifier une heure de dĂ©but et une heure de fin de validitĂ© pour le certificat. Un certificat prĂ©sentĂ© en dehors de cet intervalle de temps sera considĂ©rĂ© comme non valable. Par dĂ©faut, les certificats sont valables depuis l’Époque Unix jusqu’à un futur lointain.

Pour les certificats servant Ă  l’authentification d’un utilisateur ou d’un hĂŽte, la clĂ© publique de CA doit ĂȘtre considĂ©rĂ©e comme fiable par sshd (8) ou ssh (1). Veuillez consulter ces pages du manuel pour les dĂ©tails.

AUTHENTIFICATEUR FIDO

ssh-keygen peut gĂ©nĂ©rer des clĂ©s hĂ©bergĂ©es par un authentificateur FIDO ; ces derniĂšres peuvent alors ĂȘtre utilisĂ©es quasiment comme tout autre type de clĂ© pris en charge par OpenSSH, pourvu que l’authentificateur matĂ©riel soit branchĂ© lorsque les clĂ©s sont utilisĂ©es. En gĂ©nĂ©ral, l’authentificateur FIDO a besoin que l’utilisateur le touche ou le tapote pour autoriser explicitement des opĂ©rations. Les clĂ©s FIDO comportent deux parties : une partie gestion de clĂ© stockĂ©e dans le fichier de clĂ© privĂ©e sur disque, et une clĂ© privĂ©e par dispositif unique pour chaque authentificateur FIDO et qui ne peut pas ĂȘtre exportĂ©e depuis l’authentificateur matĂ©riel. Ces deux parties sont combinĂ©es par le matĂ©riel lors de l’authentification pour produire la clĂ© rĂ©elle qui sera utilisĂ©e pour signer les Ă©preuves d’authentification. Les types de clĂ© pris en charge sont ecdsa-sk et ed25519-sk .

Les options valables pour les clés FIDO sont :

application

Remplacer la chaĂźne FIDO par dĂ©faut application/origine de « ssh: ». Cette option peut s’avĂ©rer utile pour gĂ©nĂ©rer des clĂ©s rĂ©sidentes spĂ©cifiques Ă  un hĂŽte ou un domaine. La chaĂźne application spĂ©cifiĂ©e doit commencer par « ssh: ».

challenge = chemin

Cette option permet de spĂ©cifier le chemin d’une chaĂźne d’épreuve qui sera transmise Ă  l’authentificateur FIDO pendant la gĂ©nĂ©ration de la clĂ©. La chaĂźne d’épreuve peut ĂȘtre utilisĂ©e en tant que partie d’un protocole inhabituel pour l’inscription d’une clĂ© (une Ă©preuve alĂ©atoire est utilisĂ©e par dĂ©faut).

device

SpĂ©cifier explicitement un dispositif fido (4) Ă  utiliser au lieu de laisser l’intergiciel de l’authentificateur en choisir un.

no-touch-required

Cette option permet d’indiquer que la clĂ© privĂ©e gĂ©nĂ©rĂ©e ne requiert pas de contact physique (prĂ©sence de l’utilisateur) pour effectuer des signatures. Notez que par dĂ©faut, sshd (8) refusera de telles signatures, sauf mention contraire Ă  l’aide d’une option authorized_keys.

resident

Cette option indique que la gestion de la clĂ© doit ĂȘtre stockĂ©e sur l’authentificateur FIDO lui-mĂȘme, ce qui facilite l’utilisation de l’authentificateur sur plusieurs ordinateurs. Les clĂ©s rĂ©sidentes peuvent ĂȘtre prises en charge par les authentificateurs FIDO2 et il est en gĂ©nĂ©ral nĂ©cessaire de dĂ©finir le code PIN sur l’authentificateur avant la gĂ©nĂ©ration. Les clĂ©s rĂ©sidentes peuvent ĂȘtre chargĂ©es Ă  partir de l’authentificateur Ă  l’aide de ssh-add (1). Stocker les deux parties d’une clĂ© sur un authentificateur FIDO augmente la probabilitĂ© qu’un attaquant parvienne Ă  utiliser un dispositif d’authentification volĂ©.

user

Cette option permet de spĂ©cifier un nom d’utilisateur Ă  associer Ă  une clĂ© rĂ©sidente, remplaçant par lĂ  mĂȘme le nom d’utilisateur par dĂ©faut vide. SpĂ©cifier un nom d’utilisateur peut s’avĂ©rer utile lors de la gĂ©nĂ©ration de clĂ©s rĂ©sidentes multiples pour le mĂȘme nom d’application.

verify-required

Cette option indique que cette clĂ© privĂ©e requiert une vĂ©rification de l’utilisateur pour chaque signature. Tous les authentificateurs FIDO ne prennent pas en charge cette option. Actuellement, l’authentification par code PIN est la seule mĂ©thode de vĂ©rification prise en charge, mais d’autres mĂ©thodes seront peut-ĂȘtre prises en charge dans le futur.

write-attestation = chemin

Cette option peut ĂȘtre utilisĂ©e Ă  la gĂ©nĂ©ration de la clĂ© pour enregistrer les donnĂ©es d’attestation renvoyĂ©es par les authentificateurs FIDO lors de la gĂ©nĂ©ration de la clĂ©. Ces informations sont potentiellement sensibles et elles sont ignorĂ©es par dĂ©faut.

LISTES DE RÉVOCATION DE CLÉS

ssh-keygen peut gĂ©rer les listes de rĂ©vocation de clĂ©s au format OpenSSH (KRL). Ces fichiers binaires spĂ©cifient des clĂ©s ou certificats devant ĂȘtre rĂ©voquĂ©s en utilisant un format compact ne nĂ©cessitant pas plus d’un bit par certificat si ce dernier est rĂ©voquĂ© en fonction de son numĂ©ro de sĂ©rie.

Les KRL peuvent ĂȘtre gĂ©nĂ©rĂ©es en utilisant l’option -k . Cette option lit un ou plusieurs fichiers spĂ©cifiĂ©s sur la ligne de commande et gĂ©nĂšre une nouvelle KRL. Les fichiers peuvent contenir soit une spĂ©cification KRL (voir ci-aprĂšs), soit des clĂ©s publiques (une par ligne). Les clĂ©s publiques simples sont rĂ©voquĂ©es en listant leurs hachages ou contenus dans la KRL et les certificats le sont en spĂ©cifiant leurs numĂ©ros de sĂ©rie ou leurs ID de clĂ© (si le numĂ©ro de sĂ©rie est Ă©gal Ă  zĂ©ro ou indisponible).

RĂ©voquer des clĂ©s en utilisant une spĂ©cification KRL permet de contrĂŽler explicitement le type d’enregistrement utilisĂ© pour rĂ©voquer les clĂ©s, et permet de rĂ©voquer directement des certificats en fonction de leurs numĂ©ros de sĂ©rie ou de leurs ID de clĂ© sans avoir l’ensemble du certificat sous la main. Une spĂ©cification KRL se compose de lignes contenant une des directives suivantes suivie d’un deux-points « : » et d’informations spĂ©cifiques Ă  la directive.

serial : numéro_série [- numéro_série ]

RĂ©voque le certificat qui possĂšde le numĂ©ro de sĂ©rie spĂ©cifiĂ©. Les numĂ©ros de sĂ©rie sont des valeurs diffĂ©rentes de zĂ©ro sur 64 bits qui peuvent ĂȘtre exprimĂ©es en dĂ©cimal, en hexadĂ©cimal ou en octal. Si deux numĂ©ros de sĂ©rie sont spĂ©cifiĂ©s sĂ©parĂ©s par un trait d’union, l’intervalle de numĂ©ros de sĂ©rie qu’ils composent, bornes comprises, sera rĂ©voquĂ©. La clĂ© de CA doit avoir Ă©tĂ© spĂ©cifiĂ©e sur la ligne de commande de ssh-keygen Ă  l’aide de l’option -s .

id : ID_clé

RĂ©voque le certificat possĂ©dant la chaĂźne ID_clĂ© spĂ©cifiĂ©e. La clĂ© de CA doit avoir Ă©tĂ© spĂ©cifiĂ©e sur la ligne de commande de ssh-keygen Ă  l’aide de l’option -s .

key : clé_publique

RĂ©voque la clĂ© spĂ©cifiĂ©e. S’il s’agit d’un certificat, il sera rĂ©voquĂ© comme une simple clĂ© publique.

sha1 : clé_publique

Révoque la clé spécifiée en incluant son hachage SHA1 dans la KRL.

sha256 : clé_publique

RĂ©voque la clĂ© spĂ©cifiĂ©e en incluant son hachage SHA256 dans la KRL. Les KRL qui rĂ©voquent des clĂ©s en fonction de leur hachage SHA256 ne sont pas prises en charge par les versions d’OpenSSH antĂ©rieures à 7.9.

hash : empreinte

RĂ©voque une clĂ© en utilisant un hachage d’empreinte tel qu’obtenu Ă  partir d’un message de journalisation d’authentification de sshd (8) ou Ă  l’aide de l’option -l de . Seules les empreintes SHA256 sont prises en charge ici et les KRL rĂ©sultantes ne sont pas prises en charge par les versions d’OpenSSH antĂ©rieures à 7.9.

Les KRL peuvent ĂȘtre mises Ă  jour en utilisant l’option -u en plus de l’option -k . Lorsque cette option est utilisĂ©e, les clĂ©s listĂ©es sur la ligne de commande sont fusionnĂ©es dans la KRL en s’ajoutant Ă  celles qui y sont dĂ©jĂ .

Il est aussi possible, pour une KRL donnĂ©e, de vĂ©rifier si elle rĂ©voque une ou des clĂ©s particuliĂšres. L’option -Q permet de questionner une KRL existante en vĂ©rifiant chacune des clĂ©s spĂ©cifiĂ©es sur la ligne de commande. Si une clĂ© spĂ©cifiĂ©e sur la ligne de commande a Ă©tĂ© rĂ©voquĂ©e (ou si une erreur se produit), ssh-keygen quittera avec un code de retour diffĂ©rent de zĂ©ro. Un code de retour de zĂ©ro ne sera renvoyĂ© que si aucune clĂ© n’a Ă©tĂ© rĂ©voquĂ©e.

SIGNATAIRES AUTORISÉS

Lors de la vĂ©rification des signatures, ssh-keygen utilise une simple liste d’identitĂ©s et de clĂ©s pour dĂ©terminer si une signature provient d’une source autorisĂ©e. Ce fichier des « signataires autorisĂ©s » utilise un format calquĂ© sur le FORMAT DU FICHIER AUTHORIZED_KEYS dĂ©crit dans sshd (8). Chaque ligne du fichier contient les champs suivants sĂ©parĂ©s par des espaces : principals, options, keytype, base64-encoded key. Les lignes vides et les lignes commençant par un « # » sont ignorĂ©es et considĂ©rĂ©es comme des commentaires.

Le champ « principals » est une liste de motifs (voir MOTIFS dans ssh_config (5)) contenant un ou plusieurs motifs d’identitĂ© UTILISATEUR@DOMAINE sĂ©parĂ©s par des virgules et acceptĂ©s pour les signatures. Lors de la vĂ©rification, l’identitĂ© prĂ©sentĂ©e Ă  l’aide de l’option -I doit correspondre Ă  un motif de « principals » pour que la clĂ© correspondante soit considĂ©rĂ©e comme acceptable pour la vĂ©rification.

Le champ options (si prĂ©sent) contient des spĂ©cifications d’option sĂ©parĂ©es par des virgules. Aucune espace n’est permise, sauf si elle est entourĂ©e de guillemets hauts doubles. Les spĂ©cifications d’option suivantes sont prises en charge (notez que les noms d’option sont insensibles Ă  la casse) :

cert-authority

Indique que cette clĂ© est considĂ©rĂ©e comme une autoritĂ© de certification (CA) et que les certificats signĂ©s par cette CA peuvent ĂȘtre acceptĂ©s pour la vĂ©rification.

namespaces =liste_espaces_noms

SpĂ©cifie une liste de motifs d’espaces de noms acceptĂ©s pour cette clĂ©. Si cette option est prĂ©sente, l’espace de noms de signature intĂ©grĂ© Ă  l’objet signature et prĂ©sentĂ© sur la ligne de commande de vĂ©rification doit correspondre Ă  la liste spĂ©cifiĂ©e pour que la clĂ© soit considĂ©rĂ©e comme acceptable.

valid-after =horodatage

Indique que la clĂ© est valable Ă  partir de l’horodatage spĂ©cifiĂ© qui peut ĂȘtre une date ou une heure au format AAAAMMJJ[Z] ou AAAAMMJJHHMM[SS][Z]. Les dates et heures sont interprĂ©tĂ©es dans le fuseau horaire actuel du systĂšme, sauf si elles sont suffixĂ©es du caractĂšre « Z », auquel cas elles sont interprĂ©tĂ©es dans le fuseau horaire UTC.

valid-before =horodatage

Indique que la clĂ© est valable jusqu’à l’horodatage spĂ©cifiĂ©.

Lors de la vĂ©rification des signatures faites par des certificats, le nom de « principal » attendu doit correspondre Ă  la fois au motif de « principals » enregistrĂ© dans le fichier des signataires autorisĂ©s et aux « principals » intĂ©grĂ©s dans le certificat lui-mĂȘme.

Un exemple de fichier des signataires autorisés :

# Commentaires autorisés en début de ligne
utilisateur1@example.com,utilisateur2@example.com ssh-rsa AAAAX1...
# Une autoritĂ© de certification approuvĂ©e pour tous les « principals » d’un domaine.
*@example.com cert-authority ssh-ed25519 AAAB4...
# Une clĂ© qui n’est acceptĂ©e que pour signer des fichiers.
utilisateur2@example.com namespaces="fichier" ssh-ed25519 AAA41...

ENVIRONNEMENT
SSH_SK_PROVIDER

SpĂ©cifie le chemin d’une bibliothĂšque Ă  utiliser pour le chargement des clĂ©s hĂ©bergĂ©es par un authentificateur FIDO, outrepassant ainsi le comportement par dĂ©faut consistant Ă  utiliser le support USB HID intĂ©grĂ©.

FICHIERS
˜/.ssh/id_ecdsa
˜/.ssh/id_ecdsa_sk
˜/.ssh/id_ed25519
˜/.ssh/id_ed25519_sk
˜/.ssh/id_rsa

Ces fichiers contiennent l’identitĂ© d’authentification de l’utilisateur ECDSA, ECDSA hĂ©bergĂ©e par un authentificateur, Ed25519, Ed25519 hĂ©bergĂ©e par un authentificateur ou RSA. Ces fichiers ne doivent ĂȘtre accessibles en lecture que pour l’utilisateur. Il est possible de spĂ©cifier une phrase secrĂšte lors de la gĂ©nĂ©ration de la clé ; cette phrase secrĂšte sera utilisĂ©e pour chiffrer la partie privĂ©e de ce fichier en utilisant l’algorithme AES 128 bits. Ce fichier n’est pas automatiquement consultĂ© par ssh-keygen , mais il correspond au fichier par dĂ©faut pour la clĂ© privĂ©e. ssh (1) lit ce fichier lorsqu’une tentative de connexion est effectuĂ©e.

˜/.ssh/id_ecdsa.pub
˜/.ssh/id_ecdsa_sk.pub
˜/.ssh/id_ed25519.pub
˜/.ssh/id_ed25519_sk.pub
˜/.ssh/id_rsa.pub

Ces fichiers contiennent la clĂ© publique d’authentification ECDSA, ECDSA hĂ©bergĂ©e par un authentificateur, Ed25519, Ed25519 hĂ©bergĂ©e par un authentificateur ou RSA. Le contenu de ces fichiers doit ĂȘtre ajoutĂ© au fichier ˜/.ssh/authorized_keys de toutes les machines auxquelles l’utilisateur souhaite se connecter en utilisant une authentification par clĂ© publique. Il n’est pas nĂ©cessaire de garder secret le contenu de ce fichier.

/etc/ssh/moduli

Ce fichier contient les groupes Diffie-Hellman utilisés pour DH-GEX (Diffie-Hellman group exchange). Le format de ce fichier est décrit dans moduli (5).

VOIR AUSSI

ssh (1), ssh-add (1), ssh-agent (1), moduli (5), sshd (8)

« The Secure Shell (SSH) Public Key File Format » ,
RFC 4716 ,
2006 .

AUTEURS

OpenSSH est un dérivé de la version originale et libre 1.2.12 de ssh par Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt et Dug Song ont corrigé de nombreux bogues, rajouté de nouvelles fonctionnalités et créé OpenSSH. Markus Friedl a contribué à la prise en charge des versions 1.5 et 2.0 du protocole SSH.

TRADUCTION

La traduction française de cette page de manuel a été créée par Lucien Gentis <lucien.gentis@waika9.com>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 : https://www.gnu.org/licenses/gpl-3.0.html concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org . Debian 27 novembre, 2024 SSH-KEYGEN (1)