Luché con el mismo permiso denegado error aparentemente debido a
key_parse_private2: missing begin marker
En mi situación, la causa fue el archivo de configuración ssh del usuario actual (~ / .ssh / config).
Usando lo siguiente:
ssh -i ~/myKey.pem ec2-user@<IP address> -v 'exit'
El resultado inicial mostró:
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
... muchas líneas de depuración cortadas aquí ...
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 tercera línea anterior es donde se identificó el problema real; sin embargo, busqué el mensaje de depuración a cuatro líneas de la parte inferior (arriba) y me equivoqué. No hay ningún problema con la clave, pero la probé y comparé otras configuraciones.
Mi archivo de configuración ssh de usuario restableció el host a través de una configuración global no deseada como se muestra a continuación. La primera línea de host no debería haber sido un comentario.
$ 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
Espero que alguien más encuentre esto útil.