मैं एसएसएच निजी कुंजी से सार्वजनिक कुंजी कैसे प्राप्त करूं?

द्वारा उत्पन्न एक एसएसएच निजी कुंजी ssh-keygen एक सार्वजनिक कुंजी हिस्सा होता है । मैं निजी कुंजी से इस सार्वजनिक कुंजी को कैसे प्राप्त करूं? मैंने अपनी सार्वजनिक कुंजी खो दी है और इस सार्वजनिक कुंजी की सामग्री को सर्वर में डालने की आवश्यकता है authorized_keys फ़ाइल और एक नई कुंजी जोड़ी नहीं बनाना चाहते ।

वैकल्पिक रूप से वाक्यांश: मैं कैसे बनाऊं id_rsa.pub एक से फ़ाइल id_rsa फ़ाइल?

मुझे सर्वर गलती पर जवाब मिला है: निजी कुंजी से सार्वजनिक एसएसएच कुंजी बनाएं?

विकल्प -y सार्वजनिक कुंजी आउटपुट करता है:

ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub

साइड नोट के रूप में, सार्वजनिक कुंजी की टिप्पणी खो जाती है । मेरे पास एक साइट है जिसे टिप्पणी की आवश्यकता है (लॉन्चपैड?), इसलिए आपको संपादित करना होगा ~/.ssh/id_rsa.pub और टिप्पणी और कुंजी डेटा के बीच एक स्थान के साथ पहली पंक्ति में एक टिप्पणी संलग्न करें । एक उदाहरण सार्वजनिक कुंजी को नीचे छोटा दिखाया गया है ।

ssh-rsa AAAA..../VqDjtS5 ubuntu@ubuntu

एसएसएच एजेंट में जोड़े गए कुंजियों के लिए (एक प्रोग्राम जो पृष्ठभूमि में चलता है और बार-बार कीफाइल पासफ़्रेज़ को फिर से दर्ज करने की आवश्यकता से बचा जाता है), आप इसका उपयोग कर सकते हैं ssh-add -L एजेंट में जोड़े गए कुंजियों के लिए सार्वजनिक कुंजियों को सूचीबद्ध करने का आदेश (के माध्यम से ssh-add -l). यह तब उपयोगी होता है जब एसएसएच कुंजी स्मार्ट कार्ड पर संग्रहीत होती है (और निजी कुंजी फ़ाइल तक पहुंच संभव नहीं है) ।

यह एक समाधान विशेष रूप से अमेज़ॅन एडब्ल्यूएस और जीसीई पर क्लाउड छवियों सहित अपने रिमोट मशीनों में विंडोज से एसएसएच का उपयोग करने वाले उपयोगकर्ताओं के लिए है ।

(अस्वीकरण)

मैंने हाल ही में जीसीई पर नई तैनात वीएम छवियों में रिमोट लॉग इन करने के लिए इस समाधान का उपयोग किया है ।


प्रयुक्त उपकरण:

  1. पुट्टीजेन
  2. विनएससीपी

प्रदर्शन करने के लिए कदम:

  1. पुट्टीजेन का उपयोग करके एक सार्वजनिक/निजी कुंजी जोड़ी बनाएं ।
  2. क्लाउड या दूरस्थ स्थान में अपने सर्वर पर एक सार्वजनिक कुंजी अपलोड करें ।

विवरण (यह कैसे करना है):

  1. एक कुंजी/जोड़ी उत्पन्न करें या मौजूदा निजी कुंजी का उपयोग करें:

    यदि आपके पास एक निजी कुंजी है:

    पुट्टीजेन खोलें, लोड बटन दबाएं और अपनी निजी कुंजी ( * । पीईएम) फ़ाइल ।

    यदि आप करते हैं नहीं एक निजी कुंजी है:

    • ओपन पुट्टीजेन,
    • पैरामीटर अनुभाग के भीतर वांछित कुंजी प्रकार एसएसएच 2 डीएसए (आप आरएसए या डीएसए का उपयोग कर सकते हैं) का चयन करें । .. और यह महत्वपूर्ण है कि आप पासफ़्रेज़ फ़ील्ड को खाली छोड़ दें,
    • जनरेट दबाएं और जनरेट करने के लिए निर्देशों का पालन करें (सार्वजनिक/निजी) कुंजी जोड़ी ।

    Sample Key Generation pic

  2. एक नई 'प्राधिकृत' फ़ाइल बनाएं (नोटपैड के साथ):

    अपने सार्वजनिक कुंजी डेटा को ओपनएसएसएच प्राधिकृत _की फ़ाइल और उद्धरण में चिपकाने के लिए सार्वजनिक कुंजी से कॉपी करें;पोटीन कुंजी जनरेटर के अनुभाग, और कुंजी डेटा को अधिकृत _की फ़ाइल में पेस्ट करें ।

    सुनिश्चित करें कि इस फ़ाइल में पाठ की केवल एक पंक्ति है ।

  3. लिनक्स सर्वर पर कुंजी अपलोड करें:

    • ओपन विनएससीपी,
    • एसएफटीपी फ़ाइल प्रोटोकॉल का चयन करें और अपने एसएसएच क्रेडेंशियल्स के साथ लॉग इन करें ।
    • सफलता पर, आप अपने दूरस्थ मशीन पर होम निर्देशिका संरचना देखते हैं ।

    दूरस्थ मशीन पर होम निर्देशिका में प्राधिकृत _की फ़ाइल अपलोड करें ।

  4. उचित अनुमतियाँ सेट करें:

    एक बनाओ .ssh निर्देशिका (यदि यह मौजूद नहीं है)

    कॉपी करें authorized_keys के लिए फ़ाइल .एसएसएच निर्देशिका (यह किसी भी मौजूदा को बदल देगा authorized_keys फ़ाइल; इस पर ध्यान दें) ।

    यदि फ़ाइल मौजूद है, तो बस इस फ़ाइल की सामग्री को मौजूदा फ़ाइल में जोड़ें ।

    अनुमतियाँ सेट करने के लिए कमांड चलाएँ:

     sudo chmod 700 .ssh && chmod 600 .ssh/authorized_keys

अब आप हर बार क्रेडेंशियल्स दर्ज किए बिना रिमोट मशीन में एसएसएच कर पाएंगे ।

आगे पढ़ना:

  1. विंडोज़ के तहत एसएसएच कुंजी उत्पन्न करना और अपलोड करना

  2. ओपनएसएसएच कुंजी, प्रमाण पत्र का उपयोग कर पासवर्ड के बिना प्रमाणीकरण । पीईएम और .पब

'पीबीकॉपी > ~ / । एसएसएच / आईडी_आरएसए।पब ’ उफ़।

@ निक - पीबीकॉपी एक मैकओएसएक्स कमांड है । साथ ही, यह बेकार है यदि आपने रिबूट किया है, लॉग आउट किया है, या क्लिपबोर्ड पर कुछ और कॉपी किया है ।