SSH: निजी RSA कुंजी होस्ट करने के लिए क्लाइंट के लिए सुरक्षित है?


10

क्या सर्वर पर सार्वजनिक / निजी कुंजी जोड़ी उत्पन्न करने के लिए सुरक्षित है, अधिकृत_कीs सूची में सार्वजनिक कुंजी जोड़ें, और फिर प्रत्येक ग्राहक के लिए निजी कुंजी की प्रतिलिपि बनाएँ, जैसा कि यहां वर्णित है ( http://www.rebol.com/docs/ ssh-auto-login.html ) मान लें कि आप प्रत्येक ग्राहक पर स्थायी नियंत्रण रखते हैं? (यानी एक ही उपयोगकर्ता, कई कंप्यूटर)।

विशिष्ट प्रक्रिया क्लाइंट पर सार्वजनिक / निजी कुंजी जोड़ी उत्पन्न करना है, और फिर क्लाइंट की सार्वजनिक कुंजी को सर्वर पर अधिकृत_की सूची में जोड़ें जैसा कि यहां वर्णित है ( http://www.linuxproblem.org/art_9.html )। इस पद्धति के साथ, यदि आपके पास कई क्लाइंट कंप्यूटर हैं, तो प्रत्येक को अधिकृत_की सूची में सम्‍मिलित किया जाना चाहिए और समय के साथ बनाए रखा जाना चाहिए।

जवाबों:


22

बधाई हो, आपको बुरी सलाह के साथ एक इंटरनेट ट्यूटोरियल मिला है।

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

उस ट्यूटोरियल के लिए, सर्वर पर कीपर उत्पन्न करने और क्लाइंट की निजी कुंजी कॉपी करने के लिए यह आश्चर्यजनक रूप से खराब सलाह है । यह पूरी तरह से पिछड़ा हुआ है। इसके बजाय, कीपर क्लाइंट पर जनरेट किया जाना चाहिए और सर्वर पर कॉपी की गई पब्लिक की। यहां तक ​​कि एक सहायक स्क्रिप्ट भी है ssh-copy-idजो बिल्कुल ऐसा करती है, और जिस तरह से सुनिश्चित करता है कि सभी अनुमतियां सही हैं, क्लाइंट को सर्वर की होस्ट कुंजी मिलती है, आदि।

वास्तव में ऐसी परिस्थितियां हो सकती हैं, जहां आप स्वचालित स्क्रिप्ट के लिए उपयोगकर्ताओं की पहचान कुंजी को केंद्र में रखना चाहते हैं, लेकिन इस मामले में आपको वास्तव में तीसरे होस्ट से या आदर्श रूप से कठपुतली जैसी कॉन्फ़िगरेशन प्रबंधन प्रणाली से ऐसा करना चाहिए।


2
इसके अतिरिक्त, क्लाइंट मशीन के उपयोगकर्ता को यह याद रखना होगा कि यह विशेष कुंजी किसी अन्य उद्देश्यों के लिए सुरक्षित रूप से उपयोग नहीं की जा सकती है, क्योंकि आप यह नहीं जान सकते कि निजी कुंजी कहाँ है। यदि आप जानते हैं कि ग्राहक पर गुप्त कुंजी उत्पन्न की गई थी और ग्राहक को कभी नहीं छोड़ा, तो आम तौर पर विभिन्न प्रणालियों में प्रवेश करने के लिए एक ही कुंजी का उपयोग करना सुरक्षित होता है।
कास्परड

7
साझा सुइयों के साथ एक समानता मन में आई, लेकिन मुझे यकीन नहीं था कि मैं काफी दूर जाना चाहता था ...
माइकल हैम्पटन

सुनिश्चित नहीं है कि आप उस सादृश्य में विषम भाग कैसे प्राप्त करेंगे।
कास्परड

1
खैर ... आप सुई के किस छोर पर निर्भर हैं।
मिर्चे वुटकोविसी

3

उस ट्यूटोरियल में वर्णित प्रोटोकॉल के साथ सबसे बड़ी समस्या यह है कि यह निर्दिष्ट नहीं करता है कि आप "क्लाइंट मशीन के लिए निजी कुंजी" कैसे सुरक्षित तरीके से डाउनलोड करते हैं (यानी, ईव्सड्रॉपिंग को रोकता है)। यदि आपके पास पहले से सुरक्षित चैनल नहीं है, तो कुंजी को इंटरनेट (HTTP, FTP, ईमेल इत्यादि) पर स्पष्ट रूप से स्थानांतरित किया जाएगा। आप HTTPS का उपयोग कर सकते हैं, लेकिन अगर आपके पास असली प्रमाणपत्र नहीं है, तो कुंजी को सूँघना MITM'd हो सकता है। बस इसे वैसे ही करो जैसे तुम करने वाले हो; क्लाइंट मशीन पर कीपर जनरेट करें, सर्वर के लिए सार्वजनिक कुंजी को स्थानांतरित करें, और यह सुनिश्चित करने के लिए फ़ाइल के चेकसम को सत्यापित करना न भूलें कि यह स्थानांतरण में संशोधित नहीं किया गया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.