एक ही एसएसएच निजी कुंजी का उपयोग कई मशीनों के पार


23

मुझे एक Github रेपो मिला है जिसे मैं दो अलग-अलग लिनक्स मशीनों से एक्सेस करना चाहता हूं।

पहली मशीन के लिए, मैंने SSH कुंजियों को बनाने के लिए गितुब के निर्देशों का पालन किया, और परिणामी सार्वजनिक कुंजी को गितूब में जोड़ा। यह क्लाइंट ठीक काम करता है।

दूसरे क्लाइंट के लिए, मैंने /home/{user}/.ssh/id_rsaफ़ाइल को पहले क्लाइंट से कॉपी किया । मैंने सोचा कि यह सब मुझे करना है, लेकिन जब मैं कनेक्ट करने की कोशिश करता हूं तो मुझे 'अनुमति से इनकार कर दिया जाता है' (publickey)।

मुझे किसकी याद आ रही है?

जवाबों:


32

एक ही SSH कुंजी को कई क्लाइंट से उपयोग करने में सक्षम होना चाहिए। मेरे पास अलग-अलग नेटवर्क के लिए अलग-अलग एसएसएच कुंजी हैं और वे वास्तव में एक एन्क्रिप्टेड यूएसबी ड्राइव पर संग्रहीत हैं जो मैं एक समस्या के बिना कई अलग-अलग कंप्यूटरों से उपयोग करता हूं।

SSH फ़ाइल अनुमतियों के बारे में बहुत picky है, इसलिए मैं पहले सभी अनुमतियों को /home/{user}नीचे की id_rsaफ़ाइल से सभी अनुमतियों की जाँच करूँगा ।

SSH वास्तव में समूह या विश्व लेखन अनुमतियों की परवाह नहीं करता है इसलिए सुनिश्चित करें कि आप chmod go-wअपने घर की निर्देशिका और ~/.sshशुरुआत के लिए निर्देशिका बनाते हैं । मैं यह भी सुनिश्चित करूँगा कि वे आपके उपयोगकर्ता के स्वामित्व में हैं chown ${USER}:${USER}

SSH कुंजी के लिए ही मैं chmod 600उन्हें ...

यदि आप चाहते हैं कि मेरे पास अतिरिक्त जानकारी हो तो मैं अपने SSH कुंजियों को अपने SSH प्रश्न के उत्तर में कैसे प्रबंधित करूं ।


3
यह अनुमति थी- अप करने के लिए दोहराव नहीं है, लेकिन बहुत धन्यवाद
यारिन

6

यदि आपको गितुब के अंत से इनकार करने की अनुमति मिल रही है, तो यह हो सकता है कि यह आपकी कॉपी की गई एसएसएच कुंजी फ़ाइल को नहीं उठा रहा है, बल्कि सिस्टम डिफ़ॉल्ट है। इसके आस-पास एक आसान तरीका यह है कि आप किसी ~/.ssh/configफ़ाइल को महान बनाएं और उसमें निम्नलिखित चीज़ें डालें:

Host github.com
  Hostname      github.com
  User          git
  IdentityFile  ~/.ssh/yourkeyfile

यह आपके SSH क्लाइंट को केवल github.com के लिए उस कुंजी का उपयोग करने के लिए मजबूर करेगा।

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


2
अपवोट करने के लिए रिपीट न करें लेकिन धन्यवाद
यारिन

1

मुझे पता है कि यह पुराना है, लेकिन मैंने सोचा था कि आपको सार्वजनिक कुंजी को दूसरे क्लाइंट को कॉपी करने की आवश्यकता होगी

(या इसे ssh-keygen -y -f ~ / .ssh / id_rsa_>> ~ / .ssh / id_rsa ... pub के साथ पुनः कनेक्ट करें)

1 से]:

  1. सार्वजनिक कुंजी प्रमाणीकरण विधि: "publickey"

    केवल आवश्यक प्रमाणीकरण 'विधि का नाम' "publickey"
    प्रमाणीकरण है। सभी कार्यान्वयन जरूरी इस विधि का समर्थन करते हैं;
    हालाँकि, सभी उपयोगकर्ताओं को सार्वजनिक कुंजी
    रखने की आवश्यकता नहीं होती है , और अधिकांश स्थानीय नीतियों को
    निकट भविष्य में सभी उपयोगकर्ताओं के लिए सार्वजनिक कुंजी प्रमाणीकरण की आवश्यकता नहीं होती है ।

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

आपका ssh क्लाइंट सर्वर पर सार्वजनिक कुंजी (ऊपर बोल्ड में संदर्भित हस्ताक्षर) भेजकर प्रमाणीकरण शुरू करता है। सार्वजनिक कुंजी एक अधिकृत कुंजी है, तो सर्वर, आपके क्लाइंट के लिए एक यादृच्छिक सत्र आईडी भेजता है। आपका क्लाइंट तब निजी कुंजी के साथ उस सत्र आईडी को एनकोड करता है और उस सर्वर पर वापस भेजता है। सर्वर सार्वजनिक कुंजी का उपयोग करके उस सत्र आईडी को डिकोड करता है, और यदि यह मूल सत्र आईडी से मेल खाता है, तो आपके क्लाइंट को प्रमाणित करता है।

[१] [ http://www.openssh.org/txt/rfc4252.txtiding ]


0

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


मैं प्रत्येक उपयोगकर्ता के पारस्परिक क्लाइंट में 1 की-प्रति-उपयोगकर्ता करने की योजना बना रहा था। लेकिन प्रत्येक उपयोगकर्ता के प्रत्येक ग्राहक के लिए एक की-जोड़ी सिर्फ मुझे लगती है जैसे यह हाथ से निकल जाएगा ...?
यरिन

यदि आप प्रत्येक मशीन पर प्रत्येक उपयोगकर्ताओं के लिए एक ही निजी कुंजी का उपयोग करते हैं तो यह ठीक लगता है। बस अनुमति की जाँच करें यदि आप -p फ्लैग के साथ scp का उपयोग करके कॉपी करते हैं तो यह ठीक होना चाहिए
त्रिज्या
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.