जब आप किसी दूरस्थ सर्वर से संपर्क करने के लिए ssh का उपयोग करने का प्रयास कर रहे हैं, तो आपको एक त्रुटि प्राप्त हो सकती है जो आपको यह सुझाव देने से पहले कि आप किस एन्क्रिप्शन एल्गोरिथम का उपयोग करना चाहते हैं, कोई मिलान कुंजी विनिमय विधि नहीं मिलती है। जब भी आपको त्रुटि का अनुभव होगा, आप दूरस्थ सर्वर से कनेक्ट नहीं कर पाएंगे। यह प्रक्रिया वास्तव में निराशाजनक हो सकती है, लेकिन त्रुटि इतनी सामान्य है कि आप अक्सर यूनिक्स प्रकारों को इस बारे में बात करते हुए पाएंगे कि वे इसे कैसे अनुभव कर रहे हैं और जंगल से बाहर निकलने के लिए वही सलाह दे रहे हैं।
त्रुटि को ठीक करने के लिए निम्नलिखित विधियों का परीक्षण हर उस चीज़ पर किया गया है, जिस पर ssh काम करता है, लेकिन आपको यह समस्या यूनिक्स और लिनक्स सिस्टम पर सबसे अधिक मिल जाएगी। यदि आप विंडोज़ या कुछ विदेशी पर एसएसएच चला रहे हैं तो आपको इसे ठीक करने के लिए उसी प्रक्रिया का उपयोग करने में सक्षम होना चाहिए, लेकिन आप पाएंगे कि स्विच विकल्प थोड़ा अलग हैं।
विधि 1:सर्वर से फिर से संपर्क करना और कुंजियों को फिर से बनाना
इससे पहले कि आप कुछ और करें, सुनिश्चित करें कि आप त्रुटि को पुन:उत्पन्न कर सकते हैं। कभी-कभी यह त्रुटि संदेश सिर्फ इसलिए होता है क्योंकि कुछ रिमोट-साइड सेवा है जो वर्तमान में नहीं चल रही है, जिसे इस बीच ठीक कर दिया गया हो। जब हम एक वर्चुअल मशीन में ssh चला रहे थे जिसने एक फर्जी सर्वर पते से कनेक्शन की अनुमति दी थी जो कि दस्तावेज़-स्वीकृत example.org पर सेट था, लेकिन आप इसके बजाय एक वास्तविक नेटवर्किंग पते को बदलना चाहेंगे।
यदि आप अभी भी इसे प्राप्त करते हैं, तो ssh-keygen -A . के साथ कुंजियों को पुन:उत्पन्न करने का प्रयास करें कमांड प्रॉम्प्ट से। यह उस कैश को रीफ्रेश करेगा जिसे एसएसएच एप्लिकेशन रिमोट सर्वर से कनेक्ट करने के लिए उपयोग करता है। इसे छोड़कर, आप सेवा ssh पुनरारंभ . चलाकर ssh को पुनरारंभ करने का प्रयास कर सकते हैं और इसे कुछ क्षण देना।
क्या आपको अभी भी समस्या हो रही है, तो इसका मतलब है कि सर्वर और क्लाइंट कभी भी उपयोग करने के लिए सही प्रोटोकॉल के साथ आने में सक्षम नहीं थे। ओपनएसएसएच विभिन्न प्रोटोकॉल की एक चक्करदार सरणी को लागू करता है, लेकिन यह इनमें से कई को अक्षम करता है क्योंकि अब वे समझौता करने के लिए जाने जाते हैं और इसलिए असुरक्षित हैं। आप समीकरण के सर्वर अंत में सभी ssh पैकेजों को अपडेट करना चाहेंगे, इसलिए सुनिश्चित करें कि सिस्टम व्यवस्थापक को पता है कि क्या हो रहा है। अगर यह आपका अपना सर्वर है, तो उन्हें अपडेट करने के लिए कुछ समय दें।
यदि यह एक विकल्प नहीं है और आप एक समझौता किए गए एल्गोरिदम का उपयोग करने के खतरों को पहचानते हैं, तो इस त्रुटि संदेश को बायपास करने का एक क्लाइंट-साइड तरीका है।
विधि 2:OpenSSH में लीगेसी विकल्प सक्षम करना
शब्दों के बाद त्रुटि संदेश क्या पढ़ता है, इस पर एक नज़र डालें उनका प्रस्ताव:यह देखने के लिए कि दूरस्थ सर्वर कौन सा एल्गोरिदम पसंद करता है। जबकि अधिकांश सिस्टम को ओपनश7 का उपयोग करना चाहिए, जिसने पहले से ही पुरानी डिफी-हेलमैन-ग्रुप 1-शा 1 तकनीक को अक्षम कर दिया है, आपको sha1 का उपयोग करने के लिए कहा जाएगा यदि वे अभी भी ओपनश 6 या कुछ इसी तरह से अटके हुए हैं।
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 [email protected] चलाएं क्लाइंट-साइड पर इस समस्या को ठीक करने के लिए दूरस्थ सर्वर का वास्तविक नेटवर्किंग होस्ट या आईपी पता जो भी हो। यदि यह समस्या को ठीक करता है, तो यह कनेक्ट करने के लिए पुराने sha1-आधारित प्रोटोकॉल की तलाश में था। यह पुराना sha1-आधारित समाधान एक अच्छे कारण के लिए अक्षम किया गया था, लेकिन आप ~/.ssh/config फ़ाइल खोलने और लाइनें जोड़ने के लिए नैनो या विम संपादकों का उपयोग करके इसे स्थायी रूप से दरकिनार कर सकते हैं:
होस्ट example.org
KexAlgorithms +diffie-hellman-group1-sha1
ध्यान रखें कि आप यह सुनिश्चित करना चाहते हैं कि प्लस चिह्न है क्योंकि इसका मतलब है कि ssh अधिक सुरक्षित डिफ़ॉल्ट को बदलने के बजाय संलग्न करेगा। जब सर्वर पैकेज को अपडेट करता है, तो आप ज्यादातर मामलों में सुरक्षित प्रोटोकॉल का उपयोग कर रहे होंगे।
यदि आपको sha1 संस्करण के बजाय ssh-dss प्रोटोकॉल का उल्लेख करने से पहले कोई त्रुटि मिली है, तो आप इसके बजाय अपने होस्ट के नाम के बाद इस कमांड को आज़मा सकते हैं:ssh -oHostKeyAlgorithms=+ssh-dss , जो अगर यह काम करता है तो आपको ~/.ssh/config फ़ाइल को फिर से संपादित करने की आवश्यकता होगी। होस्ट लाइन के बाद, एक टैब और निम्नलिखित जोड़ें:
HostKeyAlgorithms +ssh-dss
याद रखें कि sha1 प्रणाली की तरह, ssh-dss कुंजी को इससे जुड़ी अत्यंत तर्कसंगत सुरक्षा समस्याओं के लिए हटा दिया गया है। इसका उपयोग करने से आपके कनेक्शन में कमजोरियां आ सकती हैं, इसलिए इसे केवल एक अस्थायी सुधार के रूप में देखा जाना चाहिए, यदि ऐसा भी हो। सर्वर को जल्द से जल्द अपडेट करना सुनिश्चित करें।