Il y a quelque temps, j'ai installé un serveur sur AWS et 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 avant, et je l'ai fait fonctionner. Cependant, après avoir essayé à nouveau aujourd'hui, je ne peux pas le 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:
Load key "key_name": invalid format
Y a-t-il un moyen de réparer ceci?
----BEGIN RSA PRIVATE KEY-----
et se termine par-----END RSA PRIVATE KEY-----
. De plus, cela fonctionnait.Ce que j'ai fait pour résoudre ce problème, c'est que j'utilise pour convertir le fichier PPK en utilisant
PuttyGen
.urkey.PPK
Chargez d' abord le , puis dans le menu de conversion, cliquez sur exporter au format de fichier Openssh. Il créera un fichier newkey.maintenant,
ssh -i "newkey" [email protected]
Terminé. J'espère que cela aide.
la source
Je demandais à openssh d'utiliser un fichier d'identité particulier en le spécifiant dans le fichier .ssh / config.
La configuration de travail d'origine avait
Cela a cessé de fonctionner sans aucun changement. En réfléchissant un peu, j'ai remplacé le "chemin d'accès au fichier de clé publique" ci-dessus par "le chemin d'accès au fichier de clé privée". Ça a marché. Le raisonnement est que les fichiers de clés publiques et privées ont de grands nombres liés à peudoprime selon l'algorithme RSA. Si vous remplacez le fichier de clé privée par un fichier de clé publique, ces numéros cryptographiques ne seront pas extraits correctement du bloc base64 enregistré dans les fichiers de clé. Il semble que certaines versions de ssh peuvent comprendre l'extension .pub et l'utiliser pour identifier le fichier de clé privée correct - et d'autres versions ne le font pas. C'est une autre façon dont cette erreur peut se produire. J'espère que cela aide quelqu'un.
la source
config
fichier d' installation avecpath_to_public_key
et tout fonctionnait. Cependant, lorsque le mac a fait un redémarrage difficile et quelques jours plus tard, j'ai essayé de le fairegit push
, j'ai commencé à obtenir l'erreur indiquée ci-dessus. Mais quand je l'ai changé, lespath_to_private_key
choses fonctionnent ... Hmmm. Je ne sais pas pourquoi ..J'ai eu le même problème, et il s'avère que j'avais des séparateurs de ligne de style Windows (CRLF) dans le fichier pour une raison quelconque.
De plus, le fichier doit se terminer par un seul LF.
Réparer ces choses rendait les choses encore dandy.
la source
dos2unix
est la commande pour convertir des sauts de ligne CRLF (style Windows) en LF (style Linux).Vous devez convertir votre clé .ppk en clé OpenSSH
Voici comment procéder :
la source
Je suis juste tombé sur cela aujourd'hui alors que j'écrivais des utilitaires de marquage git pour mon pipeline CI.
Voici la différence entre mes deux clés:
J'ai changé mon code comme ceci:
Et maintenant ma clé ssh fonctionne.
TL; DR - Je suppose que vous devez avoir une nouvelle ligne à la fin de votre clé privée.
la source
Dans mon cas, il s'est avéré que j'avais des retours à la ligne entre les "en-têtes" de début / fin et les données clés:
Suppression des nouvelles lignes supplémentaires, il est donc devenu
résolu mon problème.
la source
Utilisez votre clé privée au lieu de la clé publique.
la source
J'ai eu ce problème car j'avais une clé dans ~ / .ssh qui était en fait un format invalide et j'avais beaucoup de clés, ce qui signifiait que SSH les essayait toutes, même si j'avais spécifié mon fichier d'identité dans la commande. Il se trouve que cela échoue car il ne peut essayer que 5 clés, je pense, puis m'a laissé cette erreur, qui était légitime, juste pour le mauvais fichier d'identité. La solution était de simplement utiliser
IdentitiesOnly yes
dans mon ~ / .ssh / config.la source
J'ai eu cette erreur car il y avait une ligne vierge au début du fichier clé. Facile à manquer si vous
cat
le sortez.la source
Il s'agit également de l'erreur que ssh (au moins certaines versions) émet si vous avez une phrase secrète sur votre clé privée et entrez une phrase secrète incorrecte lorsque vous essayez de vous connecter.
(En particulier, cela m'est arrivé avec: OpenSSH_7.6p1, LibreSSL 2.6.2, qui est le SSH intégré pour Mac OS X 10.13.6.)
Vérifiez donc que vous utilisez la bonne phrase de passe et que VERR MAJ est désactivé.
la source
Assurez-vous de renommer votre clé PRIVÉE et de supprimer l'extension de fichier à l'origine du problème.
Mesures que j'ai prises
Créez votre clé publique:
Assurez-vous que vous êtes dans le même répertoire que vous avez la clé privée
Comment créer la clé publique:
assurez-vous que la clé PUBLIC a une extension de fichier .pub
après cela, fournissez les autorisations appropriées pour des raisons de sécurité:
ALORS la partie la plus importante et la raison pour laquelle vous avez obtenu l'erreur "format invalide"
Assurez-vous de renommer votre clé PRIVÉE et de supprimer l'extension de fichier:
Supprimez le .pem de votre clé privée.
ou si sur un ordinateur Windows renommer la clé privée, même nom supprimez simplement le
.pem
la source