मैंने स्पष्ट रूप से उसी अनुमति से इनकार कर दिया, जिसके कारण त्रुटि हुई
key_parse_private2: missing begin marker
मेरी स्थिति में इसका कारण वर्तमान उपयोगकर्ता की ssh config फाइल (~ / .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.
ऊपर की तीसरी पंक्ति वह जगह है जहाँ वास्तविक समस्या की पहचान की गई थी; हालाँकि, मैंने नीचे (ऊपर) से चार लाइनों के डिबग संदेश को देखा और गुमराह किया गया। कुंजी के साथ कोई समस्या नहीं है, लेकिन मैंने इसका परीक्षण किया और अन्य कॉन्फ़िगरेशन की तुलना की।
मेरे उपयोगकर्ता ssh config फाइल को एक अनजाने वैश्विक सेटिंग के माध्यम से मेजबान को रीसेट कर सकता है जैसा कि नीचे दिखाया गया है। पहली होस्ट लाइन पर टिप्पणी नहीं होनी चाहिए थी।
$ 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
मुझे आशा है कि किसी और को यह मददगार लगेगा।