同じ許可で苦労しましたが、明らかにエラーが拒否されました
key_parse_private2: missing begin marker
私の状況では、原因は現在のユーザーのssh構成ファイル(〜/ .ssh / config)でした。
以下を使用します。
ssh -i ~/myKey.pem ec2-user@<IP address> -v 'exit'
最初の出力は次のとおりです。
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
...多くのデバッグ行がここでカットされます...
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.
上記の3行目は、実際に問題が特定された場所です。しかし、私は下から4行(上)からデバッグメッセージを探し、誤解しました。キーに問題はありませんが、テストして他の構成と比較しました。
ユーザーのssh構成ファイルは、以下に示すように、意図しないグローバル設定を介してホストをリセットしました。最初のホスト行はコメントであってはなりません。
$ 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
他の誰かがこれが役に立ったと思います。