क्या कई कंप्यूटर / सेवाओं के बीच निजी कुंजी फ़ाइल साझा करना ठीक है?


110

इसलिए हम सभी जानते हैं कि SSH आदि का उपयोग करके सार्वजनिक कुंजी / निजी कुंजी का उपयोग कैसे करें, लेकिन उनका उपयोग / पुनः उपयोग करने का सबसे अच्छा तरीका क्या है? क्या मुझे उन्हें हमेशा एक सुरक्षित जगह पर रखना चाहिए? मेरा मतलब है, मुझे GitHub तक पहुँचने के लिए कुंजियों की एक जोड़ी की आवश्यकता थी। मैंने स्क्रैच से एक जोड़ी बनाई और कुछ समय के लिए गिटहब तक पहुंचने के लिए इसका इस्तेमाल किया। फिर मैंने अपना HDD फॉर्मेट किया और उस जोड़ी को खो दिया। बड़ी बात, मैंने एक नई जोड़ी बनाई और अपनी नई जोड़ी का उपयोग करने के लिए GitHub को कॉन्फ़िगर किया। या यह कुछ ऐसा है जिसे मैं खोना नहीं चाहता?

मुझे हमारी कंपनी सिस्टम तक पहुँचने के लिए सार्वजनिक कुंजी / निजी कुंजी की एक जोड़ी की भी आवश्यकता थी। हमारे व्यवस्थापक ने मुझसे मेरी सार्वजनिक कुंजी मांगी और मैंने एक नई जोड़ी बनाई और उसे दे दी। क्या आम तौर पर विभिन्न प्रणालियों तक पहुंच के लिए एक नई जोड़ी बनाना बेहतर है या क्या एक जोड़ी होना बेहतर है और विभिन्न प्रणालियों तक पहुंचने के लिए इसका पुन: उपयोग करना बेहतर है? इसी तरह, दो अलग-अलग जोड़े बनाना बेहतर है और एक का उपयोग हमारी कंपनियों को घर से सिस्टम एक्सेस करने के लिए और दूसरा एक सिस्टम को काम से एक्सेस करने के लिए, या सिर्फ एक जोड़ी रखने के लिए और दोनों जगहों से इसका इस्तेमाल करना बेहतर है?


यह सीधे आपके प्रश्न का उत्तर नहीं है, लेकिन प्रत्येक कुंजी के लिए पासफ़्रेज़ भी होना उचित है। आदर्श रूप से, प्रत्येक कुंजी के लिए अलग पासफ़्रेज़ (पासवर्ड मैनेजर का उपयोग करें)। इसका कारण इस प्रकार है: यदि किसी निजी कुंजी से छेड़छाड़ की जाती है (लैपटॉप चोरी हो गया, कंप्यूटर हैक हो गया), तो आपके पास कुछ समय पहले कुंजी को क्रूरता से भरा जा सकता है और आप सार्वजनिक कुंजी को उन सभी मशीनों पर बदल सकते हैं जो इसके पास हैं , अपने हमलावर से पहले कर सकते हैं। स्रोत: help.ubuntu.com/community/SSH/OpenSSH/…
Xandor Schiefer

जवाबों:


86

आपको निश्चित रूप से प्रति मूल निजी कुंजी होनी चाहिए । मूल रूप से इसका मतलब है कि आम तौर पर प्रत्येक निजी कुंजी की एक प्रति होनी चाहिए (बैकअप की गिनती नहीं)। बारीकी से संबंधित मशीन से एक ही निजी कुंजी का उपयोग करना ठीक है, ऐसी स्थितियों में जहां एक में मूल रूप से तोड़ना आपको दूसरे तक पहुंच देता है (उदाहरण के लिए यदि वे एक दूसरे में हैं shosts.equiv)। विभिन्न स्थानों (जैसे घर और काम) में मशीनों पर एक ही निजी कुंजी का उपयोग न करें, कभी दो उपयोगकर्ताओं के बीच एक निजी कुंजी साझा न करें, और कभी भी लैपटॉप और किसी अन्य मशीन के बीच एक निजी कुंजी साझा न करें।

अधिकांश भाग के लिए, मुझे अलग-अलग गंतव्यों के लिए अलग-अलग निजी कुंजियाँ रखने की बात नहीं दिखती। यदि किसी निजी कुंजी से छेड़छाड़ की जाती है, तो उसी निर्देशिका में संग्रहीत अन्य सभी निजी कुंजियों से निश्चित रूप से समझौता किया जाएगा, इसलिए बिना सुरक्षा लाभ के लिए जटिलता को जोड़ा जाएगा।

यदि आप इन सिद्धांतों का पालन करते हैं, तो प्रत्येक कुंजी जोड़ी एक (मशीन, उपयोगकर्ता) जोड़ी की पहचान करती है, जो प्राधिकरण प्रबंधन को आसान बनाती है।

मैं प्रति मूल एकल निजी कुंजी के सामान्य नियम के दो अपवादों के बारे में सोच सकता हूं:

  • यदि आपके पास एक पासवर्ड रहित कुंजी है जो किसी विशिष्ट मशीन (जैसे एक स्वचालित बैकअप या अधिसूचना तंत्र) पर केवल एक विशिष्ट कमांड तक पहुंच प्रदान करती है, तो वह कुंजी सामान्य शेल एक्सेस कुंजी से अलग होनी चाहिए।
  • यदि कुछ मशीनें रुक-रुक कर जुड़ी हुई हैं, तो आपके पास एक नई निजी कुंजी के साथ एक पुरानी निजी कुंजी हो सकती है, जब तक कि आप नई कुंजी को तैनात करने के लिए समाप्त नहीं हो जाते।

5
इस तरह मैंने हमेशा अपनी कीपेयर का उपयोग किया है। मुझे समझ नहीं आया कि GitHub अपने सेटअप निर्देशों में एक नया कीपर बनाने की वकालत क्यों कर रहा था। मैंने उस पर ध्यान नहीं दिया और अपने मानक कीपर का इस्तेमाल किया। मुझे लगता है कि वे रूढ़िवादी हो रहे हैं।
toolbear74

ठीक है, तो आप कहते हैं, "अलग-अलग स्थानों में मशीनों पर एक ही निजी कुंजी का उपयोग न करें" लेकिन क्या होगा यदि DNS आपके स्थान के आधार पर किसी मशीन को दिए गए होस्ट नाम का समाधान करता है? निजी कुंजी साझा किए बिना मुझे उस होस्ट के नाम पर ssh या rsync करने का प्रयास करने पर चेतावनी या विफलता मिलती है क्योंकि ssh एक ही होस्ट नाम के लिए दो अलग-अलग कुंजी रखने पर भ्रमित हो जाता है।
माइकल

@Michael मुझे समझ में नहीं आता कि आपके द्वारा बताए गए परिदृश्य में उपयोगकर्ता कीज़ के साथ आपको क्या समस्या हो सकती है , जो कि यह धागा है। SSH मेजबान कुंजी के बारे में भ्रमित हो जाता है , लेकिन एक उपयोगकर्ता के रूप में आप जो देखते हैं वह मेजबान की सार्वजनिक कुंजी है, मेजबान की निजी कुंजी नहीं है, और मेजबान की निजी कुंजी साझा करना खतरनाक है - मैं केवल यही सलाह दूंगा कि यदि मेजबान पूरी तरह से समकक्ष हैं (अतिरेक अगर उनमें से एक विफल रहता है), और शायद तब भी नहीं।
गिल्स

आह अच्छा। ऐसा लगता है कि दोनों के बीच बहुत स्पष्ट अंतर नहीं है, और यह माना जाता है कि आप जानते हैं कि किसके बारे में बात की जा रही है।
माइकल

1
@JSBach के पास अलग-अलग कुंजियाँ होने के कारण आपको महीन दाने वाली अनुमतियों को परिभाषित करने की अनुमति मिलती है (निम्न-सुरक्षा दायरे पर संग्रहीत कुंजी को A की मशीनों के बीच उपयोग करने की अनुमति है, लेकिन B में लॉग इन करने पर एक मजबूत प्रमाणीकरण कारक की आवश्यकता होती है) और आपको उन्हें रद्द करने की अनुमति देता है अलग से (दायरे ए में समझौता हो गया, लेकिन मैं अभी भी बी से सी में लॉग इन कर सकता हूं)। SSO वह मामला है जहां आप उच्चतम-सुरक्षा प्रणाली में लॉग इन करते हैं, और फिर आप कहीं और लॉग इन कर सकते हैं। मुझे नहीं पता कि वे प्रति उपयोगकर्ता कई कुंजी रखने में क्या जोखिम देखते हैं। यह सूचना सुरक्षा के लिए एक विषय होगा ।
गाइल्स

4

मुझे नहीं पता कि सबसे अच्छा तरीका क्या है लेकिन मैं बता सकता हूं कि मेरा तरीका क्या है।

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

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


+1 मैं अपने बॉस के साथ एक नई प्रमुख उपयोग नीति के बारे में बात करने जा रहा हूं; प्रति सर्वर / सेवा केवल नेटवर्क की तुलना में अधिक सुरक्षित लगता है
डिक्विला सेप

1

मेरा मानना ​​है कि आप निजी कुंजी का उपयोग कहीं भी कर सकते हैं जब तक आप उस पर एक पासफ़्रेज़ डालते हैं, कहने का मतलब है कि यदि आप अपनी निजी कुंजी को कुछ मशीनों के साथ साझा करना चाहते हैं, तो लैपटॉप 1, 2, डेस्कटॉप 1, 2 कहें, ठीक होना चाहिए।

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


1
सबसे अच्छा जवाब यहां पढ़ें। आप यह गलत कर रहे है। ऐसा नहीं है कि आप इसे इस तरह से नहीं कर सकते लेकिन आपको ऐसा नहीं करना चाहिए।
फिल्ट जूल

2
सभी डाउनवोट क्यों नहीं देख सकते हैं। विश्वविद्यालय नेटवर्क (उदाहरण के लिए) में अक्सर एक नेटवर्क होम निर्देशिका होती है, इसलिए एक ही निजी कुंजी का उपयोग उपयोगकर्ता द्वारा हर जगह किया जाता है, यहां तक ​​कि आपके द्वारा दिए गए लैपटॉप पर भी। जब तक आप इसे इंटरनेट पर अनएन्क्रिप्टेड कॉपी नहीं करते हैं, तब तक मुझे लगता है कि यदि आप जोखिम को समझते हैं तो यह ठीक है। खूनी इस तरह से और भी सुविधाजनक है कि आपकी सार्वजनिक कुंजी को 2,000 अलग-अलग जगहों पर जोड़ने की ज़रूरत नहीं है, क्योंकि आपने एक अलग मशीन में लॉग इन किया है।
असफंद काजी

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

0

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


0

आपके द्वारा बनाई गई सार्वजनिक कुंजी सभी के लिए है। यह उन्हें आपके लिए a) जाँच प्रामाणिकता b) एन्क्रिप्ट करने की अनुमति देगा

निजी कुंजी है, अच्छी तरह से, निजी। यह केवल आपके लिए है। और यह वह कुंजी है जिसे आपको कहीं सुरक्षित स्थान पर बैकअप देना चाहिए। यदि आप उदाहरण के लिए इसे USB स्टिक पर सहेजते हैं तो आप इसे सुरक्षित पासवर्ड से भी एन्क्रिप्ट कर सकते हैं।

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


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