Computer >> कंप्यूटर ट्यूटोरियल >  >> समस्या निवारण >> Linux

समाधान: कोई मिलान करने वाली कुंजी विनिमय विधि नहीं मिली

जब आप किसी रिमोट सर्वर के संपर्क में आने के लिए ssh का उपयोग करने का प्रयास कर रहे हैं, तो आपको एक त्रुटि प्राप्त हो सकती है जो "कोई मिलान करने वाली कुंजी विनिमय विधि नहीं मिली" पढ़ती है, इससे पहले कि यह आपको एक सुझाव दे कि आप किस एन्क्रिप्शन एल्गोरिदम का उपयोग करना चाहेंगे। जब भी आप त्रुटि का अनुभव करते हैं, आप रिमोट सर्वर से कनेक्ट नहीं कर पाएंगे। यह प्रक्रिया वास्तव में निराशाजनक हो सकती है, लेकिन त्रुटि इतनी आम है कि आप अक्सर Unix प्रकारों को इसके बारे में बात करते हुए पाएंगे कि वे इसका अनुभव कर रहे हैं और जंगल से बाहर निकलने के लिए वही सलाह दे रहे हैं।

त्रुटि को ठीक करने के लिए निम्नलिखित विधियों का परीक्षण उन सभी चीजों पर किया गया है जिन पर ssh काम करता है, लेकिन आप संभवतः इस समस्या को Unix और Linux सिस्टम पर पाएंगे। यदि आप Windows या कुछ विदेशी पर ssh चला रहे हैं तो आपको उसी प्रक्रिया का उपयोग करके इसे ठीक करने में सक्षम होना चाहिए, लेकिन आप पा सकते हैं कि स्विच विकल्प थोड़े अलग हैं।

विधि 1: सर्वर से पुनः संपर्क करना और कुंजियों को पुनर्जीवित करना

कुछ भी करने से पहले, सुनिश्चित करें कि आप त्रुटि को पुन: उत्पन्न कर सकते हैं। कभी-कभी यह त्रुटि संदेश सिर्फ इसलिए होता है क्योंकि कोई रिमोट-साइड सेवा है जो वर्तमान में नहीं चल रही है, जिसे बीच में ठीक किया जा सकता है। जब हम एक वर्चुअल मशीन में ssh चला रहे थे जिसने एक फर्जी सर्वर पते पर कनेक्शन की अनुमति दी थी जिसे डॉक्यूमेंटेशन-अनुमोदित example.org पर सेट किया गया था, लेकिन आप एक वास्तविक नेटवर्किंग पते को प्रतिस्थापित करना चाहेंगे।

समाधान: कोई मिलान करने वाली कुंजी विनिमय विधि नहीं मिली

यदि आप अभी भी इसे प्राप्त करते हैं, तो कमांड प्रॉम्प्ट से ssh-keygen -A के साथ कुंजियों को पुनर्जीवित करने का प्रयास करें। यह उस कैश को रीफ्रेश करेगा जिसे ssh एप्लिकेशन रिमोट सर्वर से कनेक्ट करने के लिए उपयोग करता है। इसके अलावा, आप service ssh restart चलाकर ssh को पुनरारंभ करने का प्रयास करना चाह सकते हैं और इसे कुछ क्षण दे सकते हैं।

यदि आपको अभी भी समस्याएं हो रही हैं, तो इसका मतलब है कि सर्वर और क्लाइंट कभी भी सही प्रोटोकॉल का उपयोग करने के लिए शर्तों पर नहीं आ पाए। OpenSSH प्रोटोकॉल की एक चक्करदार सरणी को लागू करता है, लेकिन यह इनमें से कई को अक्षम कर देता है क्योंकि वे अब समझौता किए गए और इसलिए असुरक्षित होने के लिए जाने जाते हैं। आप समीकरण के सर्वर छोर पर सभी ssh पैकेजों को अपडेट करना चाहेंगे, इसलिए सुनिश्चित करें कि सिस्टम एडमिनिस्ट्रेटर को पता है कि क्या हो रहा है। यदि यह आपका अपना सर्वर है, तो उन्हें अपडेट करने के लिए एक क्षण लें।

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

विधि 2: OpenSSH में लीगेसी विकल्प सक्षम करना

उनके प्रस्ताव: शब्दों के बाद त्रुटि संदेश क्या पढ़ता है, यह देखने के लिए कि रिमोट सर्वर किस एल्गोरिदम को पसंद करता है। जबकि अधिकांश सिस्टम को openssh7 का उपयोग करना चाहिए, जिसमें पहले से ही पुराने अप्रचलित diffie-hellman-group1-sha1 तकनीक को अक्षम कर दिया गया है, आपको sha1 का उपयोग करने के लिए कहा जाएगा यदि वे अभी भी openssh6 या कुछ इसी तरह पर अटके हुए हैं।

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 testhost@example.org चलाएं जिसमें रिमोट सर्वर का वास्तविक नेटवर्किंग होस्ट या IP पता हो, इसे क्लाइंट-साइड पर इस मुद्दे को ठीक करने के लिए। यदि यह समस्या को ठीक करता है, तो यह एक पुराने sha1-आधारित प्रोटोकॉल की तलाश में था जिससे कनेक्ट किया जा सके। इस पुराने sha1-आधारित समाधान को एक अच्छे कारण के लिए अक्षम किया गया था, लेकिन आप nano या vim एडिटर्स का उपयोग करके ~/.ssh/config फ़ाइल को खोलकर और लाइनें जोड़कर इसे और अधिक स्थायी रूप से बायपास कर सकते हैं:

Host example.org

KexAlgorithms +diffie-hellman-group1-sha1

ध्यान रखें कि आप यह सुनिश्चित करना चाहेंगे कि प्लस साइन वहां है क्योंकि इसका मतलब है कि ssh अधिक सुरक्षित डिफ़ॉल्ट को बदलने के बजाय जोड़ देगा। जब सर्वर पैकेज अपडेट करता है, तो आप ज्यादातर मामलों में सुरक्षित प्रोटोकॉल का उपयोग करेंगे।

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

HostKeyAlgorithms +ssh-dss

याद रखें कि sha1 प्रणाली की तरह ही, ssh-dss कुंजी को इससे जुड़ी अत्यंत तर्कसंगत सुरक्षा समस्याओं के लिए अप्रचलित कर दिया गया है। इसका उपयोग आपके कनेक्शन में कमजोरियों को पेश कर सकता है, इसलिए इसे केवल अस्थायी फिक्स के रूप में देखा जाना चाहिए यदि वह भी। सुनिश्चित करें कि सर्वर को जल्द से जल्द अपडेट किया जाए।

  1. HTML DOM Storage key() मेथड HTML DOM Storage key() मेथड

    HTML DOM Storage key() मेथड का उपयोग स्टोरेज ऑब्जेक्ट में दिए गए इंडेक्स पर की नाम को वापस करने के लिए किया जाता है। इंडेक्स को key() मेथड के पैरामीटर के रूप में पास किया जाता है। स्टोरेज ऑब्जेक्ट सेशन ऑब्जेक्ट या localStorage ऑब्जेक्ट हो सकता है। सिंटैक्स LocalStorage का उपयोग करके Storage key() म

  1. Microsoft Azure में SSH की पेयर बनाएं और इसे Ubuntu Server में जोड़ें Microsoft Azure में SSH की पेयर बनाएं और इसे Ubuntu Server में जोड़ें

    Azure में हमारे वर्चुअल मशीन से कनेक्शन क्रेडेंशियल या SSH का उपयोग करके स्थापित किया जा सकता है। SSH (सिक्योर शेल) एक प्रोटोकॉल है जिसका उपयोग एन्क्रिप्टेड कनेक्शन के माध्यम से होस्ट मशीन से रिमोटली कनेक्ट करने के लिए किया जाता है। इसका उपयोग स्विच, राउटर, VMware, Linux, या किसी भी होस्ट से कनेक्ट

  1. Windows 10 पर SSH कुंजी जनरेट करें: चरण-दर-चरण मार्गदर्शिका Windows 10 पर SSH कुंजी जनरेट करें: चरण-दर-चरण मार्गदर्शिका

    Windows वातावरण में SSH कुंजी जनरेट करना एक जटिल प्रक्रिया हुआ करती थी जिसमें थर्ड-पार्टी टूल्स की स्थापना की आवश्यकता होती थी। Windows 10 अप्रैल 2018 अपडेट के बाद से, Windows एक प्रीइंस्टॉल्ड OpenSSH क्लाइंट के साथ आता है, जिसका अर्थ है कि आप SSH कुंजी जनरेट करने के लिए ssh-keygen का उपयोग कर सकते