यह विशेष त्रुटि तब होती है जब एन्क्रिप्ट किया गया चैनल सेट किया जा रहा हो। यदि आपका सिस्टम और रिमोट सिस्टम कम से कम एक सिफर साझा नहीं करते हैं, तो सहमत होने के लिए कोई सिफर नहीं है और कोई एन्क्रिप्टेड चैनल संभव नहीं है। आमतौर पर SSH सर्वर विभिन्न ग्राहकों को पूरा करने के लिए अलग-अलग साइफर का एक छोटा सा प्रस्ताव देंगे; मुझे यकीन नहीं है कि आपके सर्वर को केवल 3DES-CBC की अनुमति देने के लिए कॉन्फ़िगर क्यों किया जाएगा।
अब, 3DES-CBC भयानक नहीं है। यह धीमा है, और यह कुछ अन्य एल्गोरिदम की तुलना में कम सुरक्षा प्रदान करता है, लेकिन जब तक कुंजियों को ठीक से नहीं चुना जाता है, तब तक यह तुरंत टूटने योग्य नहीं है। CBC के पास स्वयं कुछ मुद्दे हैं जब सिफर को पारगमन में संशोधित किया जा सकता है, लेकिन मुझे दृढ़ता से संदेह है कि परिणामी भ्रष्टाचार को SSH के HMAC द्वारा खारिज कर दिया जाएगा, जिससे प्रभाव कम होगा। निचला रेखा, 3DES-CBC से भी बदतर विकल्प हैं, और बेहतर हैं। हालाँकि, सुरक्षा संबंधी चूक को ओवरराइड करते समय हमेशा सावधानी से चलना चाहिए, जिसमें सिफर और प्रमुख एक्सचेंज एल्गोरिदम विकल्प शामिल हैं।उन चूक एक कारण के लिए चूक हैं; कुछ सुंदर स्मार्ट लोगों ने विकल्पों पर विचार करते हुए कुछ दिमागी शक्ति खर्च की और यह निर्धारित किया कि चूक के रूप में जो चुना गया था वह सर्वश्रेष्ठ समग्र सुरक्षा बनाम प्रदर्शन व्यापार बंद प्रदान करता है।
जैसा कि आपको पता चला है, आप ग्राहक की ओर से किस साइफर को निर्दिष्ट करने के लिए -c ...
(या -oCiphers=...
) का उपयोग कर सकते हैं । इस मामले में जोड़ना -c 3des-cbc
क्लाइंट से केवल 3DES-CBC की अनुमति देता है। चूंकि यह एक सिफर से मेल खाता है जो सर्वर प्रदान करता है, एक एन्क्रिप्ट किया गया चैनल स्थापित किया जा सकता है और कनेक्शन प्रमाणीकरण चरण तक पहुंचता है।
आप इसे अपने व्यक्तिगत में भी जोड़ सकते हैं ~/.ssh/config
। एक स्थानीय समस्या को हल करने के लिए एक वैश्विक परिवर्तन करने से बचने के लिए, आप इसे एक Host
श्लोक में डाल सकते हैं । उदाहरण के लिए, यदि आपका SSH कॉन्फिगर वर्तमान में कहता है (डमी उदाहरण):
Port 9922
डिफ़ॉल्ट 22 के बजाय 9922 के वैश्विक डिफ़ॉल्ट पोर्ट को निर्दिष्ट करते हुए, आप उस होस्ट के लिए एक होस्ट श्लोक जोड़ सकते हैं जिसे विशेष कॉन्फ़िगरेशन की आवश्यकता है, और डिफ़ॉल्ट मामले के लिए एक वैश्विक होस्ट श्लोक। यह कुछ इस तरह हो जाएगा ...
Host 10.255.252.1
Ciphers 3des-cbc
KexAlgorithms +diffie-hellman-group1-sha1
Host *
Port 9922
इंडेंटेशन वैकल्पिक है, लेकिन मुझे लगता है कि यह पठनीयता को बढ़ाता है। रिक्त लाइनों और साथ शुरू होने वाली रेखाओं #
को अनदेखा किया जाता है।
यदि आप हमेशा (या अधिकतर) उस सिस्टम पर एक ही उपयोगकर्ता के रूप में लॉग इन करते हैं, तो आप उस उपयोगकर्ता नाम को भी निर्दिष्ट कर सकते हैं:
Host 10.255.252.1
Ciphers 3des-cbc
KexAlgorithms +diffie-hellman-group1-sha1
User enduser
Host *
Port 9922
Host *
यदि आपके ~ / .shsh / config के साथ शुरू करने के लिए कुछ भी नहीं था, तो आपको एक श्लोक जोड़ने की आवश्यकता नहीं है , क्योंकि उस मामले में केवल संकलित-या प्रणाली-व्यापी चूक (आमतौर पर / etc / ssh / ssh_configig से होगी) उपयोग किया गया।
इस बिंदु पर, इस होस्ट से कनेक्ट करने के लिए ssh कमांड लाइन बस कम हो जाती है
$ ssh 10.255.252.1
और आपके सिस्टम के अन्य सभी उपयोगकर्ता, और आपके सिस्टम के अन्य सभी होस्ट से कनेक्शन, परिवर्तनों से अप्रभावित हैं।