Format de clé publique SSH


11

J'ai une clé publique au format:

---- BEGIN SSH2 PUBLIC KEY ----

Comment: "somename-20060227"
AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]==

---- END SSH2 PUBLIC KEY ----

Habituellement, je vois des clés au format comme ceci:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAqof[and so on]

Puis-je simplement copier la première clé dans le fichier authorized_keys ou dois-je la modifier pour qu'elle ressemble à la seconde? Je pense que le premier a été généré par PUTTYgen tandis que le second a été généré par ssh-keygen.

Réponses:


16

utiliser ssh-keygen -ipour convertir le format compatible SSH2 en format compatible OpenSSH.

de man ssh-keygen:

-i Cette option lit un fichier de clé privée (ou publique) non chiffré au format compatible SSH2 et imprime une clé privée (ou publique) compatible OpenSSH sur stdout. ssh-keygen lit également le format de fichier de clé publique RFC 4716 SSH. Cette option permet d'importer des clés à partir de plusieurs implémentations SSH commerciales.


4

Vous devez convertir la clé publique en convention openssh:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]== somename-20060227

Assurez-vous également que la clé occupe exactement une ligne et qu'aucun saut de ligne n'a été introduit lors de la copie.


4

Voici la réponse complète et correcte:

ssh-keygen -i -m PKCS8 -f public-key.pem


1
"RFC4716" est le format de clé par défaut, et -m semble être pour spécifier le format de l'ENTRÉE dans ce cas, pas la sortie, donc vous avez raison.
— JimNim

Techniquement, la réponse "correcte" d'Alexus n'est PAS fausse, car cette réponse n'énonce pas la syntaxe complète - pointant uniquement vers l'indicateur principal à utiliser, laissant la nécessité de vérifier -i syntaxe / utilisation dans la page de manuel.
— JimNim

2

Réécrivez simplement votre clé dans un format adapté à authorized_keys:

keytype keybody keyname

Gardez à l'esprit que les "==" de fin sont des espaces réservés nécessaires pour conserver la longueur de clé égale à la longueur souhaitée.


4
Les "==" de fin sont des remplissages Base64
— Andrew

comment savoir si son RSA ou DSA?
— Hans
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.