Ho lottato con la stessa autorizzazione a cui è stato negato l'errore apparentemente dovuto
key_parse_private2: missing begin marker
Nella mia situazione la causa era il file di configurazione ssh dell'utente corrente (~ / .ssh / config).
Utilizzando quanto segue:
ssh -i ~/myKey.pem ec2-user@<IP address> -v 'exit'
L'output iniziale ha mostrato:
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
... molte linee di debug tagliate qui ...
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 terza riga sopra è dove è stato identificato il problema effettivo; tuttavia, ho cercato il messaggio di debug a quattro righe dal basso (sopra) e sono stato fuorviato. Non c'è un problema con la chiave, ma l'ho testato e confrontato altre configurazioni.
Il mio file di configurazione utente ssh ha ripristinato l'host tramite un'impostazione globale non intenzionale, come mostrato di seguito. La prima riga host non avrebbe dovuto essere un commento.
$ 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
Spero che qualcun altro lo trovi utile.