SSH: debug1: SSH2_MSG_KEX_DH_GEX_REPLY की अपेक्षा नहीं कर सकता


24

हमारे पास Amazon EC2 पर एक सर्वर XXX है।

SSH एक मानक (22) पोर्ट पर चल रहा है।

मैंने अपना pubkey /.ssh/authorized_keys फ़ाइल में रखा

मज़े की बात यह है कि YESTERDAY यह बहुत अच्छा काम कर रहा था!

लेकिन आज, मुझे नहीं पता कि क्या हुआ! मैं अभी लॉग इन नहीं कर सकता।

ssh -vvvv सर्वरनाम

पर अटका हुआ है

debug1: SSH2_MSG_KEX_DH_GEX_REPLY की अपेक्षा करना

मैंने अपने पब की जाँच की और यह वहाँ है! (मैंने कैसे जाँच की ?? मैंने दूसरे आदमी को जाँचने के लिए कहा)

और फिर मैंने एक और कंप्यूटर (विंडोज़ 7 + पोटीन) का इस्तेमाल किया और अपना नया प्यूब्स रखा। और क्या? मैं लॉग इन करने में सक्षम था! और वह एक और कंप्यूटर है Win7 के साथ वही LAN है जो बाहरी IP समान है।

मेरी निजी कुंजी अन्य सर्वरों के लिए काम करती है लेकिन इसके साथ नहीं।

कृपया सहायता कीजिए!


मैंने नई कुंजियाँ बनाईं और नई प्याऊ को संग्रहीत किया..वही बात! हा!
बाकितें

फी, आपकी समस्या का पबकी प्रमाणीकरण से कोई लेना-देना नहीं है: SSH2_MSG_KEX_DH_GEX_REPLYकनेक्शन में डीएच कुंजी विनिमय ( ) बहुत पहले होता है।
१६:१०

जानकारी के लिए धन्यवाद। BTW GUYS, समस्या को स्वयं हल किया गया है। मैंने कुछ भी नहीं किया बस लॉग इन करने की कोशिश की और मैं सफल रहा। हां
bakytn

खराब नेटवर्क विलंबता बहुत बूँदें? यह सिर्फ सामान्य संदेश है।
कोराजविन इवान

शायद यह है। मैं अब इसे किसी भी तरह से पुन: पेश नहीं कर सकता। तो यह मेरी तरफ से हो सकता है।
बैकीटन

जवाबों:


28

इसे हल करने के लिए नेटवर्क इंटरफ़ेस MTU बदलें। यह ubuntu 14.04 के लिए एक बग है।

यह मेरे लिए काम किया:

sudo ip li set mtu 1200 dev wlan0

या

sudo ifconfig wlan0 mtu 1200

ssh VPN होस्ट से कनेक्ट करने में विफल रहता है - 'SSH2_MSG_KEX_ECDH_PLPL' की अपेक्षा पर लटका हुआ है '


sudo ip li set mtu 1400 dev eno1मेरे लिए Ubuntu 16.04 पर काम किया।
मेरासिओ

बहुत बहुत धन्यवाद। मैं हफ्तों के लिए एक विशेष बॉक्स में SSH या दूरस्थ डेस्कटॉप में असमर्थ रहा हूँ। HTTP काम करता है और आसन्न मशीनें ठीक काम करती हैं। मुझे अंदर जाने के लिए अन्य मशीनों से
आशा करनी पड़ी

12

Online.net डेटासेंटर में एक समर्पित सर्वर तक पहुँचने के लिए यहाँ एक ही सटीक समस्या है।

रीबूट के बाद कोई समस्या नहीं है, MTU को बदलने की कोई आवश्यकता नहीं है, ssh कनेक्शन 1-3 सप्ताह के लिए काम करता है, तो यह सटीक बग दिखाई देता है, KEXINIT पर अवरुद्ध, ssh सर्वर को कनेक्ट करने के लिए और अधिक संभव नहीं है।

यह किसी प्रकार का sshd बग हो सकता है, लेकिन इसकी आवश्यकता 1-3 सप्ताह के बाद होने वाले कुछ nework सामानों से होती है, मैंने इस नेटवर्क पर कई अलग-अलग सर्वरों के साथ इस सटीक समस्या को कई बार दोहराया, कुछ का कहना है कि यह एक सिस्को बग से संबंधित हो सकता है, संभवतः कुछ डीपीआई विकल्पों के साथ संबंधित है।

वह समस्या अन्य सर्वरों के साथ कभी नहीं हुई, जिन्हें मैं अन्य डेटासेन्टर्स में प्रबंधित करता हूं, और जिनका सटीक एक ही डिस्ट्रो, कॉन्फिगरेशन और sshd वर्जन है।

यदि आप हर 10 दिनों में रिबूट नहीं करना चाहते हैं क्योंकि डेटासेंटर फ़ायरवॉल (या अन्य नेटवर्क ट्वीक्स) अजीब सामान कर रहा है:

पहले उन क्लाइंट साइड वर्कअराउंड में से एक के साथ कनेक्ट करें:

वर्कअराउंड 1, अपने स्थानीय, ग्राहक पक्ष MTU को कम करना:

ip li set mtu 1400 dev wlan0

(1400 पर्याप्त होना चाहिए लेकिन आप कम मूल्यों का उपयोग करने की कोशिश कर सकते हैं यदि आवश्यक हो)

समाधान 2, ssh कनेक्शन के लिए चुने हुए साइबर को निर्दिष्ट करना:

ssh -c aes256-gcm@openssh.com host

(या किसी अन्य उपलब्ध साइबरफोर के साथ प्रयास करें)

उन दोनों क्लाइंट साइड वर्कअराउंड ने मेरे लिए इसे बनाया, मैं अपने अपटाइम को कनेक्ट और बचा सकता था; लेकिन आप इस सर्वर-साइड को हमेशा के लिए ठीक करना चाहते हैं, इसलिए आपको हर क्लाइंट को अपने एमटीयू को स्थानीय रूप से ट्विक करने के लिए कहने की ज़रूरत नहीं है।

Gentoo पर मैंने अभी जोड़ा:

mtu_eth0="1400"

in /etc/conf.d/net

(वही mtu विकल्प आपके पसंदीदा डिस्ट्रो नेटवर्क कॉन्फिग फ़ाइल में कहीं उपलब्ध होना चाहिए)

मैंने 1400 पर mtu सेट किया है, लेकिन 1460 शायद ज्यादातर मामलों में पर्याप्त है।

विखंडन को प्रबंधित करने के लिए एक और मददगार समाधान निम्नलिखित iptables नियमों का उपयोग किया जा सकता है:

# / sbin / iptables-I OUTPUT -p tcp --tcp- झंडे SYN, RST SYN -j TCPMSS --clamp-mss-to-pmtu

# / sbin / ip6tables-I OUTPUT -p tcp --tcp- झंडे SYN, RST SYN -j TCPMSS --clamp-mss-to-pmtu

(लेकिन मैं अब तक इस एक की जरूरत नहीं थी)

यह भी ध्यान दें कि इस समस्या के लक्षण भी हो सकते हैं:

debug1: SSH2_MSG_KEXINIT sent

न सिर्फ

debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY

मार्च 2016 संपादित करें:

  • सर्वर पर mtu को 1400 पर कम करना सबसे अधिक हमेशा काम करता है, लेकिन मेरे पास हाल ही में ऐसा मामला था जहां सर्वर पर mtu पहले से ही 1400 से कम हो गया था और समस्या फिर से सामने आ गई, और क्लाइंट को भी mtu को 1400 से कम करना पड़ा।

  • समस्या यह भी है कि "सर्वर ने कनेक्शन को रीसेट कर दिया है" जब तक कि ग्राहक 1400 तक mtU सेट नहीं करता है, तब तक पृष्ठ के पुनः लोड होने के इंतजार में वेब लॉगिन फॉर्म में भी समस्या दिखाई देती है।

    सम्बंधित लिंक्स :

https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1254085

http://www.held.org.il/blog/2011/05/the-myterious-case-of-broken-ssh-client-connection-reset-by-peer/

https://nowhere.dk/articles/natty-narwhal-problems-connecting-to-servers-behind-cisco-firewalls-using-ssh

/programming/2419412/ssh-connection-stop-at-debug1-ssh2-msg-kexinit-sent

http://www.1-script.com/forums/ssh/ssh-hang-after-ssh2-msg-kexinit-sent-10616-.htm

http://www.snailbook.com/faq/mtu-mismatch.auto.html


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

मैं इस समस्या होने से पहले डिफ़ॉल्ट mtu मूल्यों का इस्तेमाल किया, mtu को कम करना समाधान था, समस्या नहीं। कृपया अपनी टिप्पणी स्पष्ट करें।
नवफुटूर

9

मेरे मामले में, मुझे MTU का आकार कम करने की कोई अनुमति नहीं है। और मैन्युअल रूप से निर्दिष्ट सिफर काम नहीं करता है।

मैं एक निर्दिष्ट करके एमएसीएस सूची को छोटा करने के बाद कनेक्ट करने में सक्षम हूं, जैसे:

ssh -o MACs=hmac-sha2-256 <HOST>

मुझे पता था कि यह MTU नहीं होगा। अगर कोई सर्वर साइड पर MTU के साथ गड़बड़ करता है तो यह नेटवर्क थ्रूपुट को प्रभावित कर सकता है। समस्या ओपनएसएसएच के कुछ संस्करण अंतर होनी चाहिए और वे कुछ साइबर और मैक फ़ंक्शन संयोजनों को कैसे पसंद करते हैं।
Csaba Toth

7

मेरे उबंटू क्लाइंट मशीन को अपग्रेड करने के बाद मुझे भी यही समस्या थी। मैंने अपनी समस्या का हल / etc / ssh / ssh_config में "Ciphers" के आकार को कम करके किया। यदि आप साइबर लाइन को कमांड लाइन में निर्दिष्ट करते हैं तो यह भी काम करता है (उदाहरण: ssh -c username @ hostname)

यहाँ से टिप:

https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/708493/comments/39


2

मुझे यह समस्या आज शुरू हुई, विंडोज पर (जीआईटी के साथ वितरित ssh) और उबंटू।

यह ओपनएसएसएच पर एक बग प्रतीत होता है, लॉचपैड पर एक मुद्दा है ।

इसने विंडोज पर मेरे लिए 3des-cbc सिफर और उबंटू की कुंजी के लिए काम किया।


2

KexAl एल्गोरिदम को बदलना मेरे लिए काम करता है, और यह एक विकल्प हो सकता है जहां आपके पास MTU सेटिंग्स को बदलने के लिए सिस्टम अधिकार नहीं हैं। यह ओपनएसएसएच चालक दल को संबोधित करने के लिए भी एक हो सकता है। जैसे

ssh -o KexAlgorithms=ecdh-sha2-nistp521 fu@bar.com

-1

हमने इसे सिपहर्स लाइन / / ssh / ssh_config पर टिप्पणी करते हुए हल किया


-2

ऐसा लगता है कि विकल्प संवाद एक समस्या का कारण बनता है, क्योंकि मैंने उस आदेश को बदल दिया है जिसमें पुट्टी प्रमुख विनिमय और समस्या को हल करता है।


1
क्या स्पष्ट लगता है? इस सवाल का जवाब 4 साल पहले दिया गया था।
डेविड मकोगन

-3

cmiiw

  • अपने ~ / .ssh / अधिकृत_की अनुमति की जाँच करें, यह 600 होना चाहिए

  • / on / var / log / safe, / var / log / संदेश या / var / log / ओटिटि पर ऑन चेक करें


authorized_keysअनुमति के बाद से ग्राहक पहले प्रोटोकॉल negitioation duing अटक गई है त्रुटि के साथ कोई संबंध नहीं है। सर्वरसाइड लॉग की जाँच करने में मदद मिल सकती है, लेकिन यह लाइन एक टिप्पणी है - डाउनवोट।
कोशिश-कैच-आखिर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.