J'ai eu du mal avec la même autorisation refusée, apparemment à cause de
key_parse_private2: missing begin marker
Dans ma situation, la cause était le fichier de configuration ssh de l'utilisateur actuel (~ / .ssh / config).
En utilisant ce qui suit:
ssh -i ~/myKey.pem ec2-user@<IP address> -v 'exit'
Le résultat initial a montré:
debug1: Reading configuration data /home/ec2-user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 56: Applying options for *
debug1: Hostname has changed; re-reading configuration
debug1: Reading configuration data /home/ec2-user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
... de nombreuses lignes de débogage coupées ici ...
debug1: Next authentication method: publickey
debug1: Trying private key: /home/ec2-user/somekey.pem
debug1: key_parse_private2: missing begin marker
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
La troisième ligne ci-dessus est l'endroit où le problème réel a été identifié; cependant, j'ai cherché le message de débogage à quatre lignes du bas (ci-dessus) et j'ai été induit en erreur. Il n'y a pas de problème avec la clé mais je l'ai testée et comparé d'autres configurations.
Mon fichier de configuration ssh utilisateur réinitialise l'hôte via un paramètre global involontaire comme indiqué ci-dessous. La première ligne Host n'aurait pas dû être un commentaire.
$ cat config
StrictHostKeyChecking=no
#Host myAlias
user ec2-user
Hostname bitbucket.org
# IdentityFile ~/.ssh/somekey
# IdentitiesOnly yes
Host my2ndAlias
user myOtherUser
Hostname bitbucket.org
IdentityFile ~/.ssh/my2ndKey
IdentitiesOnly yes
J'espère que quelqu'un d'autre trouve cela utile.