Vous vous connectez avec le mauvais utilisateur
Dans mon cas, j'essayais de me connecter à une instance Amazon AWS EC2, mais obtenais l'erreur
load pubkey "MyPrivateKey.pem": format invalide
Cela était dû au fait que j'essayais de me connecter avec le mauvais utilisateur (ec2-user)
J'utilisais une machine Ubuntu, avec l'utilisateur ubuntu au lieu de ec2-user (comme indiqué dans le système d'exploitation officiel du serveur Amazon Linux).
Mais pourquoi cette erreur?
Il s'avère qu'Amazon utilise un ancien format (puttygen indique lors du chargement "clé privée openssh ssh-2 (ancien format pem)") que openssh n'apprécie pas beaucoup, il s'agit donc vraiment d'un avertissement et non d'une erreur.
L'erreur réelle (il n'y a pas d'utilisateur tel sur ce serveur) est cachée par le serveur (sinon vous pourriez effectuer une attaque brute-force sur les noms d'utilisateur), mais à la place un "Connection closed" est affiché.
Vous pouvez trouver le nom que vous utilisez pour vous connecter à votre machine sur AWS sous Actions>Connecter.
Comment corriger l'avertissement?
Suivez simplement la réponse de "Ras", qui consiste à utiliser PuTTYgen pour convertir au format OpenSSH.
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.