150 votes

SSH retourne soudainement un format invalide

Il y a quelque temps, j'ai mis en place un serveur sur AWS et j'ai utilisé leur clé SSH générée. J'ai enregistré la clé dans Lastpass et je l'ai récupérée avec succès à partir de là auparavant, et j'ai réussi à la faire fonctionner. Cependant, après avoir essayé à nouveau aujourd'hui, je n'arrive pas à la faire fonctionner.

-rw------- 1 itsgreg users 1674 Jun 6 12:51 key_name

J'ai essayé ssh -i key_name, ssh-keygen -f key_name, mais rien ne fonctionne, je reçois toujours ce message d'erreur :

Chargement de la clé "key_name" : format invalide

Y a-t-il un moyen de réparer cela?

0 votes

Juste remarqué quelque chose : il devrait être chmoded 0400 (lecture seule). Il semble que ce ne soit pas le cas ici, car l'utilisateur a le privilège d'écriture.

0 votes

J'avais juste besoin d'une nouvelle ligne à la fin de la clé privée. Copié d'Ubuntu sur Mac et rencontré une erreur.

5voto

Dylan B Points 151

Vous devez convertir votre clé .ppk en clé OpenSSH

Voici comment faire:

  1. Téléchargez PuttyGen et générez votre paire de clés (si vous n'avez pas déjà de paire de clés prêtes). Enregistrez la clé privée dans votre dossier (.ppk)
  2. Si vous avez déjà la clé privée, chargez le fichier de clé privée (.ppk) en appuyant sur le bouton "Charger". Sinon, passez cette étape
  3. Sous le menu "Conversions", choisissez Exporter la clé OpenSSH puis enregistrez-la dans votre dossier
  4. Maintenant, vous êtes prêt à utiliser la clé pour vous connecter à votre serveur sans taper le mot de passe (je suppose que vous avez déjà mis la clé publique sous /root/.ssh/authorized_keys, chmod 600 /root/.ssh/authorized_keys, et redémarré le démon SSH)

2 votes

J'ai dû réinstaller toutes mes applications et les clés qui fonctionnaient ont commencé à faire cela. Ma solution était similaire, sauf que j'ai dû choisir "Exporter la clé OpenSSH (forcer le nouveau format de fichier)". L'option habituelle "Exporter la clé OpenSSH" a généré la même clé qui ne fonctionnait pas.

5voto

Lu55 Points 131

J'ai été confronté au problème de compatibilité dans Win32-OpenSSH 8.1.

Aucune des réponses ici n'a fonctionné pour moi donc j'ai trouvé ma propre solution : convertir la clé au nouveau format en utilisant l'utilitaire PuTTYgen.

  1. Exécutez la version la plus récente de puttygen
  2. Ouvrez la clé (Conversions > Import key). Entrez la passphrase.
  3. Enregistrez la clé dans le nouveau format OpenSSH (Conversions > Export OpenSSH key (forcer le nouveau format de fichier))

description de l'image ici

3voto

bcolfer Points 165

Utilisez votre clé privée au lieu de la clé publique.

0 votes

Même solution que ma réponse - où une explication est également ajoutée

2 votes

@vpathak Votre réponse était deux semaines plus tard que cette réponse. Je ne dis pas que votre explication est mauvaise.

3voto

mark amos Points 21

J'ai commencé à rencontrer ce problème lorsque j'ai mis à niveau vers Ubuntu 20.10. Il utilise OpenSSH_8.3p1.

Je l'ai corrigé en utilisant:

ssh-keygen -y -f mykey.pem > mykey.pem.pub

2voto

Adam Starrh Points 371

D'une manière confuse, l'erreur indique "pubkey" tout en pointant vers un fichier de clé privée.

Un fichier de clé publique manquant (ou d'autres problèmes avec celui-ci) provoque cette erreur - voir cette réponse pour plus de détails.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X