ssh ईसीडीएसए के साथ अमेज़ॅन एडब्ल्यूएस ईसी 2 सर्वर के लिए एसएसएच फिंगरप्रिंट सत्यापन?




amazon-web-services amazon-ec2 (2)

@ Joelparkerhenderson के उत्तर कवर के रूप में, आप सर्वर के आरंभिक प्रारंभ लॉग से मेजबान कुंजी फ़िंगरप्रिंट एकत्र कर सकते हैं, जब होस्ट कुंजी उत्पन्न होती है ( cloud-init स्क्रिप्ट द्वारा):

यदि आप चाबियाँ इस तरह से इकट्ठा करने में विफल रहते हैं, तो आप उन्हें अपने अमेज़ॅन नेटवर्क से निजी अमेज़ॅन नेटवर्क के भीतर किसी अन्य विश्वसनीय इंस्टेंस से कनेक्ट करके प्राप्त कर सकते हैं, इस प्रकार आप अपने आप को मध्य-मध्य-दौरे से सुरक्षित रख सकते हैं।

विश्वसनीय उदाहरण (जिसे आप फिंगरप्रिंट के लिए जानते हैं) टर्मिनल पर, आप फिंगरप्रिंट एकत्र करने के लिए निम्न आदेशों का उपयोग कर सकते हैं ( 172.33.31.199 निजी आईपी है):

$ ssh-keyscan 172.33.31.199 > ec2key
$ ssh-keygen -l -f ec2key
2048 02:fc:a5:ff:97:dd:41:63:bb:88:8b:29:4e:75:23:ed 172.33.31.199 (RSA)
256 ea:bc:4d:5f:ae:00:48:75:45:ba:97:43:fe:e1:a3:e9 172.33.31.199 (ECDSA)

यदि आपके पास कोई अन्य उदाहरण नहीं है, तो जिनके फिंगरप्रिंट आप जानते हैं, केवल चाबियाँ एकत्र करने के उद्देश्य के लिए, नया अस्थायी उदाहरण बनाएं। पहले प्रारंभिक प्रारंभ लॉग का उपयोग करते हुए, नए अस्थायी उदाहरण के लिए कुंजी खोजें। सार्वजनिक नेटवर्क से अस्थायी उदाहरण से कनेक्ट करें। फिर निजी अमेज़ॅन नेटवर्क पर अस्थायी उदाहरण से कनेक्ट करके लक्ष्य उदाहरण की कुंजी एकत्र करें। इसके बाद आप अस्थायी उदाहरण को त्याग सकते हैं।

मैंने WinSCP का उपयोग करके ईसी 2 इंस्टेंस को सुरक्षित रूप से कनेक्ट करने के लिए मार्गदर्शिका तैयार की है।

जब मैं एक नया अमेज़ॅन ईसी 2 सर्वर बनाता हूं, तो मैं सामान्य रूप से ssh का उपयोग करके उससे जुड़ता हूं।

मैं सामान्य चेतावनी देखता हूं:

$ ssh myserver  
The authenticity of host 'ec2-12-34-567-890.compute-1.amazonaws.com (12.34.567.890)'     can't be established.
ECDSA key fingerprint is 31:66:15:d2:19:41:2b:09:8a:8f:9f:bd:de:c6:ff:07.
Are you sure you want to continue connecting (yes/no)? 

साइन इन करने से पहले मैं फिंगरप्रिंट को कैसे सत्यापित करूं?

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


यहां दो समाधान हैं जो ईसी 2 सिस्टम के निर्माण के दौरान मेरे लिए काम करते थे।

समाधान 1: अमेज़ॅन ईसी 2 डैशबोर्ड का उपयोग करें

  • Https://console.aws.amazon.com पर जाएं
  • "ईसी 2" लिंक टैप करें।
  • बाएं कॉलम में "इंस्टेंस" टैप करें
  • आप जो इंस्टेंस नाम चाहते हैं उसे टैप करें
  • चयन बटन "क्रियाएं" टैप करें और "सिस्टम लॉग प्राप्त करें" चुनें (उर्फ "कंसोल आउटपुट")
  • कंसोल आउटपुट में, आपको जेनरेट की जाने वाली चाबियाँ देखना चाहिए

समाधान 2: एडब्ल्यूएस ईसी 2 कमांड लाइन का प्रयोग करें

आप aws कमांड या ec2-get-console-output कमांड का उपयोग कर सकते हैं। दोनों अमेज़ॅन से डाउनलोड के लिए उपलब्ध हैं।

अपनी ईसी 2 निजी कुंजी पेम फ़ाइल, प्रमाणपत्र पेम फ़ाइल, क्षेत्र, और उदाहरण का उपयोग करने के लिए:

ec2-get-console-output \
  --private-key pk-ABCDEF1234567890.pem \
  --cert cert-ABCDEF1234567890.pem \
  --region us-east-1c \
  i-e706689a   

आउटपुट एसएसएच होस्ट कुंजी फिंगरप्रिंट इस तरह दिखाता है:

ec2: -----BEGIN SSH HOST KEY FINGERPRINTS-----
ec2: 1024 e0:79:1e:ba:2e:3c:71:87:2c:f5:62:2b:0d:1b:6d:7b  r[email protected] (DSA)
ec2: 256 31:66:15:d2:19:41:2b:09:8a:8f:9f:bd:de:c6:ff:07  [email protected] (ECDSA)
ec2: 2048 ce:ec:3b:d3:34:3f:f3:45:76:81:9e:76:7a:d9:f5:e8  [email protected] (RSA)
ec2: -----END SSH HOST KEY FINGERPRINTS-----

aws उपकरण समान रूप से काम करता है।

नोट: ये समाधान केवल निर्माण समय के दौरान काम करते हैं, या जब आप कंसोल लॉग प्राप्त कर सकते हैं। एक व्यापक समाधान के लिए जो किसी भी समय काम करता है, मार्टिन का जवाब देखें।





ecdsa