Tôi đã vật lộn với cùng một quyền bị từ chối lỗi rõ ràng là do
key_parse_private2: missing begin marker
Trong tình huống của tôi, nguyên nhân là tệp cấu hình ssh của người dùng hiện tại (~ / .ssh / config).
Sử dụng như sau:
ssh -i ~/myKey.pem ec2-user@<IP address> -v 'exit'
Đầu ra ban đầu cho thấy:
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
... nhiều dòng gỡ lỗi ở đây ...
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.
Dòng thứ ba ở trên là nơi xác định vấn đề thực tế; tuy nhiên, tôi đã tìm kiếm thông báo gỡ lỗi bốn dòng từ dưới lên (ở trên) và bị đánh lừa. Không có vấn đề gì với khóa nhưng tôi đã kiểm tra và so sánh các cấu hình khác.
Tập tin cấu hình ssh người dùng của tôi đặt lại máy chủ thông qua cài đặt toàn cầu ngoài ý muốn như dưới đây. Dòng máy chủ đầu tiên không nên là một bình luận.
$ 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
Tôi hy vọng người khác thấy điều này hữu ích.