मेरे पास मेरे एडब्ल्यूएस पर चल रहे दो उदाहरण हैं। मेरे पास उन दोनों के लिए एक ही की-पेयर है। मैं लंबे समय से दोनों उदाहरणों का उपयोग कर रहा था। लेकिन आज अगर मैं यह आदेश चलाता हूं तो टर्मिनल के माध्यम से लॉगिन करने का प्रयास करते समय मुझे एक उदाहरण पर त्रुटि मिल रही है।

ssh -i mypem.pem ec2-user@52.xx.xxx.xxx
Permission denied (publickey).

लेकिन अगर मैं उसी pem फ़ाइल के साथ अन्य इंस्टेंस में लॉगिन करने का प्रयास करता हूं। यह काम करता है और मैं इसमें सफलतापूर्वक लॉगिन कर सकता हूं।

मैंने यहां प्रस्तुत सभी समाधानों का प्रयास किया है

अनुमति अस्वीकृत (पब्लिककी) जब SSH Amazon EC2 उदाहरण तक पहुँचता है

Amazon Ec2 इंस्टेंस में SSH की कोशिश करना - अनुमति त्रुटि

लेकिन मेरे लिए कुछ भी काम नहीं करता

अगर मैं ऐसा करता हूँ

ssh -i mypem.pem ec2-user@52.xx.xxx.xxx -vvv

परिणाम यह है

    OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolving "52.xx.xxx.xxx" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to 52.xx.xxx.xxx [52.xx.xxx.xxx] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file mypem.pem type -1
debug1: key_load_public: No such file or directory
debug1: identity file mypem.pem-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4
debug1: match: OpenSSH_7.4 pat OpenSSH* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to 52.xx.xxx.xxx:22 as 'ec2-user'
debug3: hostkeys_foreach: reading file "/Users/myusername/.ssh/known_hosts"
debug3: record_hostkey: found key type ECDSA in file /Users/myusername/.ssh/known_hosts:6
debug3: load_hostkeys: loaded 1 keys from 52.xx.xxx.xxx
debug3: order_hostkeyalgs: prefer hostkeyalgs: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
debug3: send packet: type 20
debug1: SSH2_MSG_KEXINIT sent
debug3: receive packet: type 20
debug1: SSH2_MSG_KEXINIT received
debug2: local client KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c
debug2: host key algorithms: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com,zlib
debug2: compression stoc: none,zlib@openssh.com,zlib
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug2: peer server KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: host key algorithms: ssh-rsa,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc,blowfish-cbc,cast128-cbc,3des-cbc
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc,blowfish-cbc,cast128-cbc,3des-cbc
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com
debug2: compression stoc: none,zlib@openssh.com
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug3: send packet: type 30
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug3: receive packet: type 31
debug1: Server host key: mykeyhere
debug3: hostkeys_foreach: reading file "/Users/myusername/.ssh/known_hosts"
debug3: record_hostkey: found key type ECDSA in file /Users/myusername/.ssh/known_hosts:6
debug3: load_hostkeys: loaded 1 keys from 52.70.181.239
debug1: Host '52.xx.xxx.xxx' is known and matches the ECDSA host key.
debug1: Found key in /Users/irfansheikh/.ssh/known_hosts:6
debug3: send packet: type 21
debug2: set_newkeys: mode 1
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug3: receive packet: type 21
debug1: SSH2_MSG_NEWKEYS received
debug2: set_newkeys: mode 0
debug1: rekey after 134217728 blocks
debug2: key: mypem.pem (0x7f9053c03750), agent
debug2: key: mypem.pem (0x0), explicit
debug3: send packet: type 5
debug3: receive packet: type 7
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512>
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: bringthings.pem
debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey
debug1: Trying private key: mypem.pem
debug3: sign_and_send_pubkey: RSA 
SHA256:keyhere**********
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).

मैंने क्या प्रयास किया

chmod 400 mypem.pem

मैंने यह भी कोशिश की है

sudo ssh -i mypem.pem ec2-xxx-xxx-xxx-xxx.us-west 2.compute.amazonaws.com

यह मिल गया

Please login as the user "ec2-user" rather than the user "root"

तब मैंने यह किया

sudo ssh -i mypem.pem ec2-xxx-xxx-xxx-xxx.us-west-2.compute.amazonaws.com -l ec2-user

मैंने पाया

Permission denied (publickey)

अगर मैं उसी कुंजी के साथ अन्य इंस्टेंस में लॉगिन करने का प्रयास करता हूं। मैं सफलतापूर्वक लॉगिन कर सकता हूं। कृपया मदद करें कि वास्तव में यहाँ क्या गलत हुआ

मेरे उदाहरण पर सुरक्षा समूह यह है

enter image description here

0
user1hjgjhgjhggjhg 21 अप्रैल 2018, 10:46
क्या वे दोनों एडब्ल्यूएस लिनक्स उदाहरण हैं? यदि नहीं, तो उपयोगकर्ता नाम अलग होगा (उबंटू उदाहरणों के लिए, उदाहरण के लिए, यह "उबंटू" है और "ईसी 2-उपयोगकर्ता" नहीं है)।
 – 
kdgregory
21 अप्रैल 2018, 15:29
और क्या आप कभी दूसरे इंस्टेंस में लॉग इन कर पाए हैं? यदि हाँ, तो क्या यह संभव है कि आपने कुछ ऐसा किया जिससे .ssh/authorized_keys बदल गया हो?
 – 
kdgregory
21 अप्रैल 2018, 15:29
दूसरे उदाहरण में उपयोगकर्ता नाम ubuntu है लेकिन इस उदाहरण में ec2-user है .. और हाँ मैं अन्य उदाहरण में सफलतापूर्वक लॉगिन कर सकता हूं
 – 
user1hjgjhgjhggjhg
21 अप्रैल 2018, 15:38
रात तक सब कुछ ठीक चल रहा था। जब मैं उठा तो इसने काम करना बंद कर दिया। तो नहीं मैंने कुछ नहीं किया
 – 
user1hjgjhgjhggjhg
21 अप्रैल 2018, 15:38

3 जवाब

Ec2 से समस्या निवारण कनेक्शन: https://docs.aws.amazon.com/AWSEC2/latest/ UserGuide/TroubleshootingInstancesConnecting.html

आप ट्रिपल वर्बोज़ विकल्प भी आज़मा सकते हैं -vvv

मुझे समय-समय पर वही त्रुटियां होती थीं, आमतौर पर मैं ubuntu या गलत कुंजी के बजाय ec2-user का उपयोग कर रहा था

0
Di V 21 अप्रैल 2018, 11:29

आप पहले से सुझाए गए -vvv विकल्प को आजमा सकते हैं और यह देखने की कोशिश कर सकते हैं कि क्या आपको SSH के विफल होने के कारण के बारे में अधिक जानकारी मिलती है।

यदि यह अभी भी स्पष्ट नहीं है, तो एकमात्र विकल्प वर्तमान आवृत्ति से वॉल्यूम को अलग करना और इसे किसी अन्य ईसी 2 इंस्टेंस से जोड़ना, वॉल्यूम बढ़ाना और किसी भी त्रुटि संदेश के लिए निम्न लॉग फ़ाइलों की जांच करना है: -

/var/log/messages
/var/log/secure

आप संदर्भ के लिए निम्नलिखित लिंक का उपयोग कर सकते हैं कि वॉल्यूम को दूसरे ईसी 2 इंस्टेंस से कैसे अलग और संलग्न किया जाए: -

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html 
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html

डिटैच और अटैच करते समय, वॉल्यूम के डिवाइस नामों जैसे /dev/xvda या /dev/sda1 को नोट करें। यह काफी कष्टप्रद है यदि आप पहली बार चूक जाते हैं और फिर आपको पूरी डिटैच और अटैच प्रक्रिया को दोहराना पड़ता है।

यहां त्रुटि के कई कारण हो सकते हैं। उदाहरण के लिए, यदि किसी तरह /home/ec2-user/.ssh फ़ोल्डर या उस पर मौजूद किसी भी फाइल के लिए अनुमति सर्वर बंद होने से पहले पिछली बार गलत तरीके से सेट की गई थी, तो कमांड फाइलों को पढ़ने में सक्षम नहीं होगा और इसलिए विफल हो जाएगा। आम तौर पर, लॉग फ़ाइलों में लॉग की गई त्रुटियां सहायक होती हैं और दुर्गमता का कारण प्रदान करने में सक्षम होती हैं।

एक बात जो मैं बताना चाहूंगा वह यह है कि दो प्रमुख जोड़ी नाम हैं जिनका आप उपयोग करना चाहते हैं: amazonec2.pem और mypem.pemmypem.pem का उपयोग करते समय, आपने SSH कमांड में IP पते के साथ उपयोगकर्ता नाम : ec2-user का उल्लेख किया था। हालाँकि, जब आपने amazonec2.pem का उपयोग किया था, तो यह कमांड से गायब था!

कृपया ध्यान दें कि यदि उपयोगकर्ता नाम मौजूद नहीं है, तो कमांड वास्तव में वही Permission denied (publickey). त्रुटि देने में विफल हो जाएगी। मैंने उपयोगकर्ता नाम का उल्लेख किए बिना अपने ईसी 2 इंस्टेंस में एसएसएच करने की कोशिश की और यह असफल रहा।

उम्मीद है ये मदद करेगा।

0
Crazy Psychild 21 अप्रैल 2018, 11:51
क्षमा करें "amazonec2.pem और mypem.pem" ये सिर्फ एक टाइपो त्रुटि थी। मैं हर जगह एक ही mypem.pem का उपयोग कर रहा हूँ
 – 
user1hjgjhgjhggjhg
21 अप्रैल 2018, 12:00
फिर, आपको लॉग फाइलों का विश्लेषण करना होगा, ssh का -vvv आउटपुट क्या कहता है, आप यहां आउटपुट को अपडेट कर सकते हैं ताकि हर कोई देख सके और संकेत मिलने पर मदद कर सके!
 – 
Crazy Psychild
21 अप्रैल 2018, 12:16

मेरे मामले में, मैंने कई बार गलत पासफ़्रेज़ टाइप किया। जिसके बाद मुझे लगातार परमिशन रिजेक्ट होती रही। मैंने अपने एडब्ल्यूएस इंस्टेंस को रीबूट किया और उसी प्रमाण-पत्र की कोशिश की जो काम करता था।

0
alif 17 अगस्त 2018, 18:50