Man page - ssh-keygen(1)
Packages contains this manual
Available languages:
en fr uk ro deManual
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)