निष्क्रियता के कारण मैं दूरस्थ होस्ट द्वारा बंद किए गए ssh कनेक्शन को कैसे हल करूं?


14

मैं वर्तमान में एक कोलो में ssh करने की कोशिश कर रहा हूँ, 1 से 2 मिनट की निष्क्रियता के बाद, मुझे मिलता है:

superuser@thecolo:~$ Connection to 10.123.45.67 closed by remote host.
Connection to 10.123.45.67 closed.
mylocalmac:~ superuser$

जब तक मैं ssh टर्मिनल में कुछ टाइप कर रहा हूं, तब तक कनेक्शन रखा जाता है। जैसे ही निष्क्रियता का 1 से 2 मिनट हुआ, मुझे उपरोक्त संदेश मिलेगा। जिस मशीन से मैं जुड़ने की कोशिश कर रहा हूं वह उबंटू 12.04.1 LTS 64 बिट सर्वर संस्करण है। यह एक भौतिक सर्वर नहीं बल्कि एक अतिथि VMware है। मैं एक मैक टर्मिनल से sshing हूँ।

कृपया इस साइट पर इस तरह के कीवर्ड के साथ इस प्रश्न को भ्रमित न करें ssh_exchange_identification, यह असंबंधित है।

जवाबों:


17

अपने $ HOME / .ssh / config में निम्नलिखित जोड़ें और आपके सभी ssh कनेक्शन हर 30 दिनों में एक TCPKeepAlive भेजेंगे:

TCPKeepAlive yes
ServerAliveInterval 30

सर्वर पर config फाइल खोजने में असमर्थ
insoftservice

यदि आप मौजूद नहीं हैं तो आप फ़ाइल को अपने होम डायरेक्टरी में बना सकते हैं
बाल्कन

9

यदि आप एक लिनक्स कंप्यूटर से कनेक्ट कर रहे हैं तो आप कमांड लाइन से सीधे कुछ विकल्पों का उपयोग कर सकते हैं

TCPKeepAlive: यह एक निष्क्रियता के निर्दिष्ट अंतराल के बाद कनेक्शन को जीवित रखने के लिए TCP / IP प्रोटोकॉल के KEEPALIVE विकल्प का उपयोग करता है। अधिकांश प्रणालियों पर, इसका मतलब 2 घंटे है। इसलिए, SSH को TCPKeepAlive विकल्प दिए जाने के साथ, SSH क्लाइंट आपके TCP कनेक्शन को चालू और चालू रखते हुए, SSH सर्वर को एक एन्क्रिप्टेड पैकेट भेजेगा।

ssh -o TCPKeepAlive=yes user@some.host.com

ServerAliveInterval: यह सेकंड में एक टाइमआउट अंतराल सेट करता है, जो आपके द्वारा निर्दिष्ट किया जाता है, जिसमें से यदि कोई पैकेट एसएसएच क्लाइंट से एसएसएच सर्वर को नहीं भेजा जाता है, तो एसएसएच एक टीसीपी प्रतिक्रिया के लिए सर्वर को एक एन्क्रिप्टेड अनुरोध भेजेगा। उस अनुरोध को हर 30 सेकंड में करने के लिए:

ssh -o ServerAliveInterval=30 user@some.host.com

स्रोत


0

आपको "रखने" की आवश्यकता है

अपने ग्राहक के आधार पर, यह शायद तुच्छ या आसान है - यह कोई कठिन नहीं होना चाहिए!

उदाहरण के लिए, पोटीन में यह कनेक्शन विकल्प पर है (गैर शून्य मान रखने के लिए सेट करें)


मैं कहाँ रख रखाव करते हैं? सर्वर पर या मेरे मैक से? मुझे वह मूल्य कहां निर्धारित करना चाहिए और अनुशंसित मूल्य क्या है?
थिएरी लैम

रखवाले ग्राहक पर होगा ... आपके मामले में, आपके मैक पर। कहीं एक विकल्प होगा!
एंड्रयू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.