मेरे ssh सत्र कुछ समय बाद फ्रीज क्यों होते हैं? [बन्द है]


10

माफी अगर यह सवाल पूछने के लिए सही जगह नहीं है।

मुझे नियमित रूप से विभिन्न सर्वरों के लिए ssh करने की आवश्यकता है। अब, मेरी होम मशीन (linux mint) से, जब मैं ssh से जुड़ता हूं, निष्क्रियता के कुछ समय बाद, मेरा ssh शेल जम जाता है, और इसे वापस लाने का कोई तरीका नहीं है। केवल एक चीज जो मैं कर सकता हूं, वह है ~ ~।, कि कम से कम मुझे अपना आरंभिक कवच वापस मिल जाए।

जब मैं अन्य स्थानों से उसी सर्वर पर लॉगिन करता हूं तो कोई समस्या नहीं है। क्या मेरे ISP के साथ कोई समस्या हो सकती है? मैं इस पर आगे कैसे जांच कर सकता हूं?

यह वास्तव में कष्टप्रद है, क्योंकि मुझे फ्रीज़ के बाद ssh कनेक्शन को फिर से स्थापित करना है, जहाँ मैं था वहाँ फिर से नेविगेट करना और काम फिर से शुरू करना। धन्यवाद


क्या आपके पास एक स्थिर IP पता है? यदि ऐसा नहीं हो सकता है कि आपके आईएसपी ने आपको एक अलग आईपी एड्रेस मिड सेशन दिया है - अपने लॉग की जांच करें और देखें।
user9517

मेरे पास एक स्थिर IP पता नहीं है। जाँच करेंगे
coccolithophore

जवाबों:


20

निष्क्रियता की अवधि के बाद आपका NAT आपके TCP सॉकेट को छोड़ रहा है।

आपका ssh क्लाइंट वैकल्पिक रूप से समय-समय पर सर्वर को भेज सकता है, जिससे यह समस्या समाप्त हो जाएगी। ऐसा करने के लिए, इसे अपने में जोड़ें ~/.ssh/config:

Host *
  ServerAliveInterval 60

वैकल्पिक रूप से, अपने NAT को उसके राज्य तालिका से बाहर की वस्तुओं को समाप्त नहीं करने के लिए फिर से कॉन्फ़िगर करें जितनी जल्दी हो सके।


उपरोक्त के अलावा, आपको अपने सत्रों के लिए एक टर्मिनल मल्टीप्लेक्सर का उपयोग करना चाहिए - जीएनयू स्क्रीन या टीएमयूएक्स जैसे कुछ। उन दोनों में से, आप डिस्कनेक्ट होने की स्थिति में अपना सत्र पुनः प्राप्त कर सकते हैं।


या तो NAT या पथ में कोई भी गलत गलत फ़ायरवॉल जो निष्क्रिय TCP सत्रों को छोड़ना पसंद करता है। राज्यों को रखने के लिए स्मृति की कमी के अलावा निष्क्रिय टीसीपी सत्रों को छोड़ने का कोई कारण नहीं है, लेकिन अगर आप सही ढंग से आकार और अपने उपकरणों को कॉन्फ़िगर करते हैं तो शायद ही कभी ऐसा होना चाहिए। यह जानना एक अच्छी सुविधा है कि आपका प्रदाता / व्यवस्थापक सक्षम है (या नहीं)।
शून्यकाल

0

मेरे मामले में समस्या बड़े MTU आकार में थी। यदि आप NAT का उपयोग कर रहे हैं, तो आप राउटर पर MTU को बदल सकते हैं, लेकिन मैं MTU को सर्वर पर बदलता हूँ:

sudo /sbin/ifconfig eth0 mtu 1036
sudo /etc/init.d/networking restart

विंडोज पर आप इस कुंजी को बढ़ा सकते हैं:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpMaxDataRetransmissions"=dword:00000010
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.