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.