SSH कनेक्शन "लिखें विफल: टूटी पाइप" के साथ ठंड


12

मैं Ubuntu 11.04 मशीन से SSH के माध्यम से एक CentOS 5.5 बॉक्स से कनेक्ट कर रहा हूं।

जब यह सक्रिय उपयोग (यानी कोई नुकसान या नुकसान) में नहीं होता है, तो कनेक्शन अपेक्षित रूप से काम करता है, लेकिन अगर इसे थोड़ी देर के लिए निष्क्रिय छोड़ दिया जाता है, तो यह फ्रीज हो जाएगा और अनुत्तरदायी बन जाएगा। अंततः त्रुटि संदेश "लिखें विफल: टूटा हुआ पाइप" वापस आ जाएगा और मैं अपने स्थानीय मशीन के संकेत पर वापस आ जाऊंगा।

इसे डिबग करने में, यह पता लगाने के लिए कि मैं क्या कर रहा हूं, और यह हल हो सकता है? एक डेवलपर होने के नाते, यह मेरे जीवन को लगातार जोड़ने के लिए एक दर्द बना रहा है।

जवाबों:


15

ऐसा लगता है कि CentOS बॉक्स का SSHD कॉन्फिगर क्लाइंट KeepAlive करने के लिए सेट नहीं है।

अपने CentOS sshd config (/ etc / ssh / sshd_config) में इन दो पंक्तियों को छोड़ें, इसे पुनः आरंभ करें और आनंद लें!

KeepAlive yes
ClientAliveInterval 60

जब आप इस पर होते हैं, तो मैं screenआपके सत्र को CentOS की तरफ बनाए रखने के लिए gnu का उपयोग करने की सलाह दूंगा ।


1
KeepAlive का नाम बदलकर TCPKeepAlive रखा गया है और इसे डिफ़ॉल्ट मान पर छोड़ा जा सकता है जो हाँ है। ClientAliveInterval पर्याप्त होना चाहिए। देखते हैं man sshd_config
ypid

9

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

जब आप बाद में उस ssh विंडो में कुछ करने की कोशिश करते हैं, तो एक नया अल्पकालिक पता / पोर्ट जोड़ी आपको सौंपी जाती है, जिसे गंतव्य ssh सर्वर का कोई ज्ञान नहीं होता है और वह इसका जवाब नहीं देता है; बाद में, कुछ स्थानीय समय समाप्त हो जाता है, और आपके स्थानीय मशीन द्वारा कनेक्शन को हटा दिया जाता है।

इसके लिए व्यावहारिक निर्धारण ठीक उसी तरह से करना है जैसा कि यूरीज़ैमास्टर सुझाव देता है: KeepAlives (जो कि राज्य तालिका प्रविष्टि को "गुदगुदी" करने के लिए नियमित रूप से ट्रैफ़िक सुनिश्चित करें), और screenदूरस्थ पक्ष पर उपयोग करें (घटना में राज्य को संरक्षित करने के लिए चीजें ख़त्म हो जाएं)। मैं केवल इस उत्तर को पोस्ट करता हूं क्योंकि आपने पूछा कि क्या हो रहा है, साथ ही इसके बारे में क्या करना है। उम्मीद है कि यह स्पष्ट करता है कि यूरीज़मास्टर के सुझाव अच्छे क्यों हैं।


यह सही समझ में आता है! हम इस बॉक्स के लिए DMZ सेटअप के साथ NAT है। मैं टाइमआउट कॉन्फ़िगरेशन को एक कोशिश देता हूं और देखता हूं कि क्या मेरे लिए काम करता है। धन्यवाद :)
स्टीफन आरसी

मैं आपकी बात मान रहा हूं क्योंकि आपने समस्या के पीछे के कारणों को समझने में मेरी मदद की। लेकिन फिक्स के लिए श्रेय @yuriismaster को जाना होगा।
स्टीफन आरसी

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