SSH कुंजी प्रमाणीकरण पासवर्ड प्रमाणीकरण से बेहतर क्यों है?


45

यह इतना तकनीकी प्रश्न नहीं है क्योंकि यह वैचारिक है। मैं समझता हूं कि SSH कुंजी में प्रयुक्त क्रिप्टोग्राफी एक नियमित पासवर्ड की तुलना में कहीं अधिक मजबूत है, लेकिन मुझे समझ नहीं आता कि इसे अधिक सुरक्षित क्यों माना जाता है।

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

उदाहरण के लिए, यदि मैं अपने होम मशीन से कनेक्ट करने के लिए अपने फोन पर SSH कुंजी सेट करता हूं, तो क्या मुझे अपना फोन खोना चाहिए और कोई व्यक्ति इसे अनलॉक करने के लिए प्रबंधित करता है, वे मेरे होम मशीन से कनेक्ट करने में सक्षम होंगे। मुझे पता है कि मैं अपने घर की मशीन से अपने फोन की कुंजी निकाल सकता हूं, लेकिन जब तक मुझे एहसास नहीं होगा कि ग्राहक डिवाइस खो गया है / भंग हो चुका है।

क्या मैंने कुछ गलत समझा है, या वे वैध चिंताएं हैं?


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

2
इसे संभवतः सुरक्षा में ले जाया जाना चाहिए।

10
@DKGasser: नहीं, ऐसा नहीं होना चाहिए। यह पूरी तरह से वैध प्रश्न है। सिर्फ इसलिए कि किसी अन्य एसई साइट पर ले जाया जा सकता है इसका मतलब यह नहीं होना चाहिए
वफ़र्स

4
@DKGasser: यह उस साइट पर जा सकता है , यह एक पूरी तरह से वैध प्रश्न है। लेकिन यह यहां भी एक वैध प्रश्न है, इसलिए इसे स्थानांतरित करने का कोई कारण नहीं है। यदि इस प्रश्न को यहाँ विषय से अलग किया जाना था, तो हाँ, इसे वहाँ स्थानांतरित किया जा सकता था। लेकिन यह पूरी तरह से इस साइट पर विषय पर है और इसलिए इसे माइग्रेट नहीं किया जाना चाहिए।
वफ़र्स

3
और मत भूलना, SSH कुंजी कभी नेटवर्क पर नहीं जाती है। रिमोट सर्वर नेवर को एक पासवर्ड के विपरीत कुंजी मिलती है, जो न केवल नेटवर्क पर भेजी जाती है, बल्कि रिमोट सर्वर पर भेजी जाती है। उस समय के बारे में सोचें जब आप सुनिश्चित न हों कि किस पासवर्ड का उपयोग करना है, और कुछ प्रयास करें ... जो शायद अन्य खातों पर उपयोग किया जाता है! आपने उस सर्वर को क्या पासवर्ड भेजे ???
9mjb

जवाबों:


40

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

यदि आपकी SSH सेवा केवल सार्वजनिक कुंजी प्रमाणीकरण की अनुमति देती है, तो एक हमलावर को सर्वर पर संग्रहीत सार्वजनिक कुंजी के अनुरूप निजी कुंजी की एक प्रति की आवश्यकता होती है। वे केवल यादृच्छिक हमले नहीं कर सकते हैं, उन्हें आपके उपयोगकर्ताओं का पूर्व ज्ञान होना चाहिए और आपके एसएसएच सर्वर के अधिकृत उपयोगकर्ता के पीसी से एक निजी कुंजी चोरी करने में सक्षम होना चाहिए।

तथ्य यह है कि निजी कुंजी अक्सर एक लंबी पास-वाक्यांश द्वारा संरक्षित होती है, माध्यमिक महत्व की है।

अपडेट करें:

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

मैं हमेशा अपनी निजी कुंजी की सुरक्षा के लिए एक लंबे पास-वाक्यांश का उपयोग करता हूं, मुझे लगता है कि मोबाइल उपकरणों पर इसका विशेष महत्व है जो अधिक आसानी से खो सकते हैं या चोरी हो सकते हैं।

इसके अलावा, http://xkcd.com/538/

सुरक्षा


7
+1 सिवाय इसके कि सार्वजनिक कुंजी को आपके लॉग से जुड़ने की कोशिश कर रहे बॉट्स से भरा हुआ कुछ भी नहीं करेगा। इसे रोकने के लिए, अपने एसएसएच सर्वर को एक उच्च बंदरगाह (यानी 22 के बजाय 9876) पर चलाएं। फिर अगर वे आपको मारना चाहते हैं तो उन्हें पहले आपको पोर्ट्सन करना होगा, और बॉट्स आमतौर पर उतना समय बर्बाद नहीं करते हैं ... 22 पर बहुत सारे एसएसएच सर्वर हैं।
Ex Umbris

3
आप लॉग आकार पर मजाक नहीं कर रहे हैं - मेरा / var / लॉग / सिक्योरिटी लॉग ऑफ मेगाबाइट्स से किलोबाइट्स (सिर्फ मेरे लॉगिन रिकॉर्ड के साथ) में चला गया।
जॉन सी।

2
+1 रुचिकर, मैंने 10 साल के लिए .. जैसे पासवर्ड आधारित ऑउटफिट के साथ चलाया है .. योग्य .. दी गई, मेरे यौवन से जुड़े एसएच पोर्ट कभी भी पोर्ट 22 नहीं हैं। सोचें कि बोटनेट्स मुझे स्कैन करेंगे और हर जगह पर बस्ट करने की कोशिश करेंगे। बंदरगाह वे कर सकते हैं ?? अच्छी जानकारी, धन्यवाद।
जेम्स टी स्नेल

2
@ExUmbris को पोर्ट बदलने के बजाय आपको fwknop का उपयोग करने पर विचार करना चाहिए : सिंगल पैकेट प्राधिकरण और पोर्ट नॉकिंग । यहां लाभ स्पष्ट होना चाहिए: जब आप किसी को यह देखने की अनुमति नहीं देते हैं कि पोर्ट कहीं भी खुला है जब तक कि उन्हें एसपीए के साथ दस्तक के माध्यम से पोर्ट तक पहुंच नहीं दी गई है, तो वे इसे नैम्प के साथ खोजने का प्रयास भी नहीं कर सकते हैं और उसका शोषण करो। यह अस्पष्टता के माध्यम से सरल सुरक्षा से बहुत बेहतर है।
अकुलिच

@aculich पोर्ट को बदलना "अस्पष्टता के माध्यम से सुरक्षा" नहीं है। सब मैं कर रहा हूँ चेतावनी के साथ लॉग भरने से रोक रहा है। हालांकि, आपके पास एसपीए के साथ सुरक्षा में सुधार के बारे में एक मान्य बिंदु है ।
20

8

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

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

मेरा मानना ​​है कि SSH कुंजियों की सुरक्षा करना भी संभव है।


यह ध्यान देने योग्य है, हालांकि, sshd के खिलाफ पासवर्ड ब्रूट-फोर्सिंग प्रयासों का पता लगाया जा सकता है और इसके खिलाफ (जैसे कि विफल 2ban) द्वारा संरक्षित किया जा सकता है, जबकि कोई व्यक्ति जिसने आपकी निजी कुंजी चुराई है, उस पर अपने कंप्यूटर (या क्लस्टर) जितनी तेजी से पासवर्ड की कोशिश कर सकता है। उन्हें। यह अभी भी एक बड़ा हमला नहीं है , लेकिन उन्होंने अपनी बाधाओं को काफी हद तक एक उचित विफलता 2ban नीति के रूप में बेहतर किया है।
Xiong Chiamiov


1

पासवर्ड को आपके कीबोर्ड द्वारा "ओवर-योर-शोल्डर" मॉनिटर किया जा सकता है। इसके अलावा, कई स्थानों पर समान पासवर्ड का उपयोग करना एक कमजोरी है, खासकर यदि पासवर्ड को कभी-कभी कम-सुरक्षित कंप्यूटर पर संभावित keyloggers के साथ उपयोग किया जाता है।

आप सही हैं कि एक अनएन्क्रिप्टेड कुंजी को हार्ड डिस्क से पढ़ा जा सकता है यदि कंप्यूटर चोरी हो गया है - तो इसे पासवर्ड से एन्क्रिप्ट करें।

यदि आपके कंप्यूटर में मैलवेयर से छेड़छाड़ की जाती है, तो आप परवाह किए बिना भर जाते हैं .. - कोई व्यक्ति एन्क्रिप्ट की गई कुंजी प्राप्त कर सकता है और आपके पासवर्ड को दबा सकता है।


1
नोट: लेकिन आप अपनी कुंजी को पासवर्ड से एन्क्रिप्ट नहीं कर सकते हैं यदि इसका उपयोग प्रोग्रामेटिक रूप से किया जाना है (यानी एक स्क्रिप्ट में)।
TheStoryCoder
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.