ssh बातचीत करने में असमर्थ: "कोई मिलान सिफर नहीं मिला", ccc को अस्वीकार कर रहा है


23

मैं दूरस्थ मशीन के लिए ssh करने की कोशिश कर रहा हूँ, प्रयास विफल रहता है:

$ ssh -vvv admin@192.168.100.14
OpenSSH_7.7p1, OpenSSL 1.0.2o  27 Mar 2018
.....
debug2: ciphers ctos: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
debug2: ciphers stoc: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com
debug2: compression stoc: none,zlib@openssh.com
debug2: languages ctos: 
debug2: languages stoc:
debug2: first_kex_follows 0 
debug2: reserved 0 
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: rsa-sha2-512
Unable to negotiate with 192.168.100.14 port 22: no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc

जहाँ तक मैं लॉग के आखिरी तार को समझता हूँ, सर्वर निम्नलिखित 4 सिफर एल्गोरिदम में से एक का उपयोग करने की पेशकश करता है aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc:। ऐसा लगता है कि मेरा ssh क्लाइंट उनमें से किसी का भी समर्थन नहीं करता है, इसलिए सर्वर और क्लाइंट आगे बातचीत करने में असमर्थ हैं।

लेकिन मेरा क्लाइंट सभी सुझाए गए एल्गोरिदम का समर्थन करता है:

$ ssh -Q cipher
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
rijndael-cbc@lysator.liu.se
aes128-ctr
... and there are several more.

और अगर मैं स्पष्ट रूप से एल्गोरिथ्म को इस तरह निर्दिष्ट करता हूं:

ssh -vvv -c aes256-cbc admin@192.168.100.14

मैं सफलतापूर्वक सर्वर में प्रवेश कर सकता हूं।

मेरे ~/.ssh/configकिसी भी सिफर से संबंधित निर्देश नहीं हैं (वास्तव में मैंने इसे पूरी तरह से हटा दिया है, लेकिन समस्या बनी हुई है)।

इसलिए, क्‍लाइंट और सर्वर यह तय नहीं कर सकते कि मेरे स्‍पष्‍ट निर्देशों के बिना किस सिफर का उपयोग किया जाए? क्लाइंट समझता है कि सर्वर सपोर्ट करता है aes256-cbc, क्लाइंट समझता है कि वह खुद इसका इस्तेमाल कर सकता है, सिर्फ इसका इस्तेमाल क्यों नहीं?

कुछ अतिरिक्त नोट:

  • कुछ समय पहले (लगभग एक महीने) ऐसी कोई समस्या नहीं थी। मैंने तब से किसी भी ssh विन्यास फाइल को नहीं बदला है। मैं अद्यतन स्थापित संकुल किया था, हालांकि।

  • एक ऐसा सवाल है जो बहुत ही समान दिखने वाली समस्या का वर्णन करता है, लेकिन मेरे सवाल का कोई जवाब नहीं है: बातचीत करने में असमर्थ ssh - कोई मेल खाता एक्सचेंज नहीं मिला

अद्यतन: समस्या हल हो गई

जैसा कि टेल्को ने समझाया कि समस्या सर्वर के साथ है: यह केवल अप्रचलित सिफर एल्गोरिदम का सुझाव देता है। मुझे यकीन था कि क्लाइंट और सर्वर दोनों आउटडेटेड नहीं हैं। मैंने सर्वर में लॉग इन किया है (वैसे, यह Synology है, नवीनतम उपलब्ध संस्करण में अपडेट किया गया है), और जांच की /etc/ssh/sshd_config। इस फ़ाइल की पहली (!) लाइन थी:

Ciphers aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc

यह बहुत अजीब है (यह तथ्य कि लाइन फ़ाइल में बहुत पहले है), मुझे यकीन है कि मैंने फ़ाइल को पहले कभी नहीं छुआ है। हालाँकि मैंने लाइन बदल दी है:

Ciphers aes256-ctr,aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc

सर्वर को पुनरारंभ किया ( sshdकेवल सेवा को पुनरारंभ करने के तरीके का पता नहीं लगाया ), और अब समस्या दूर हो गई है: मैं हमेशा की तरह सर्वर पर ssh कर सकता हूं।


1
संबंधित - unix.stackexchange.com/questions/333728/… - कैसे निष्क्रिय करने के बारे में जानकारी दिखाता है।
स्लम

3
मुझे भी यही समस्या थी और पाया गया कि आप इसे आसानी से वेब इंटरफेस में बदल सकते हैं (क्योंकि ssh ने मेरे लिए काम नहीं किया ...), लेकिन DSM कंट्रोल पैनल में "टर्मिनल -> एडवांस्ड सेटिंग" में जाकर "उच्च" प्रोफ़ाइल - किसी कारण के लिए, मेरे पास एक मैनुअल चयन वहां सक्षम था ... मुझे यकीन है कि उम्मीद है कि मैंने कुछ किया था और इसके बारे में भूल गया था, और पिछले डीएसएम अपडेट द्वारा कुछ नहीं किया गया था! - विकल्प अब aes128-ctr, aes128-gcm, aes192 *, aes256 *, dhge-sha256, cur25519-sha256, hmac-sha2-256
Zak

जवाबों:


17

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

प्रारंभ में जब भेद्यता का पता चला था (2008 के अंत में, लगभग 10 साल पहले!) उन एल्गोरिदम को केवल संगतता की खातिर प्राथमिकता सूची के पूंछ के अंत में रखा गया था, लेकिन अब एसएसएच में उनका अवस्थापन एक चरण में पहुंच गया है, जहां उन लोगों की संख्या है डिफ़ॉल्ट रूप से अक्षम। Cryptography.SE में इस सवाल के अनुसार , यह पदावनत कदम पहले ही वर्ष 2014 में हो रहा था।

यदि संभव हो तो अपने SSH सर्वर को अपडेट करने के लिए कृपया इसे एक कोमल अनुस्मारक समझें । (यदि यह एक फर्मवेयर-आधारित कार्यान्वयन है, तो देखें कि क्या अपडेट किया गया फर्मवेयर आपके हार्डवेयर के लिए उपलब्ध है।)


3

आप अपने ssh विन्यास को यहाँ स्थित फ़ाइल से अद्यतन कर सकते हैं: / etc / ssh / ssh_config

  1. एक टर्मिनल लॉन्च करें।
  2. टर्मिनल में लाइन पेस्ट करें: sudo nano /etc/ssh/ssh_config
  3. अपना पासवर्ड डालें। एंटर दबाए। SSH config फ़ाइल प्रदर्शित की जाएगी।
  4. लाइन पर टिप्पणी न करें: Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc
  5. प्रेस करें Ctrl + X। सहेजने और बाहर निकलने के लिए Enter दबाएँ।

1

~ / .ssh / config और सामग्री के नीचे पेस्ट के अंदर एक फ़ाइल बनाएँ

Host *
  SendEnv LANG LC_*
  Ciphers +aes256-cbc
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.