कुछ समय के बाद मेरे सत्र को नहीं तोड़ने के लिए पोटीन कैसे बनाएं?


34

प्रत्येक बार puttyयदि निष्क्रिय हो तो कुछ समय के बाद सत्र बंद कर रहा है।

timeपोटीन पर कोई पैरामीटर नहीं है , इसलिए मैं अपने puttyssh सत्र को हमेशा कैसे जीवित रख सकता हूं ?

जवाबों:


15

जाँच करने के लिए एक और बात यह है कि यदि आपका सिस्टम वातावरण चर TMOUT सेट कर रहा है। यह जाँचने के लिए आप बस कर सकते हैं:

env | grep TMOUT

या

echo $TMOUT

यदि यह सेट है, तो आप इसे बदल सकते हैं या इसे अनसेट कर सकते हैं। मान बदलने के लिए:

export TMOUT=3600

जब तक आप लॉग आउट नहीं हो जाते तब तक संख्या सेकंड की संख्या है। अन्यथा इसे बंद करने के लिए सुविधा को बंद करें:

unset TMOUT

ध्यान दें, यह हो सकता है कि आपके सिस्टम व्यवस्थापक ने सुरक्षा कारणों से इसे सेट किया हो। इसलिए यदि आप सिस्टम प्रशासक नहीं हैं तो आप स्वयं कुछ भी बदलने से पहले यह जांचना चाहते हैं।


48

निम्न सेटिंग को सकारात्मक मान में बदलकर SSH कीप-एलाइव सक्षम करें :

PuTTY कॉन्फ़िगरेशन संवाद का कनेक्शन पृष्ठ

अधिकांश मामलों में 300 का मान पर्याप्त होना चाहिए। (5 मिनट।) इसके कारण PuTTY समय-समय पर दूरस्थ होस्ट को SSH अशक्त पैकेट भेजता है, ताकि सत्र समाप्त न हो।

ध्यान दें कि हम उस पृष्ठ पर विकल्प को कम नहीं करना चाहते हैं SO_KEEPALIVE। यह एक बहुत निचले स्तर का तंत्र है जो केवल तभी उपयोग किया जाता है जब अनुप्रयोग-स्तर प्रोटोकॉल का अपना रखवाला तंत्र नहीं होता है। एसएसएच करता है, इसलिए हमें इस मामले में टीसीपी की रखवाली का उपयोग नहीं करना चाहिए।

अन्य चीजें हैं जो कनेक्शन को छोड़ने का कारण बन सकती हैं, लेकिन यह प्रयास करने के लिए एक ठोस पहली चीज है। यदि यह काम नहीं करता है, तो आपको इन अन्य चीजों पर गौर करने की आवश्यकता है: वीपीएन टाइमआउट, राउटर टाइमआउट, रिमोट एसएसएच सर्वर पर सेटिंग्स में बदलाव, परतदार कनेक्शन, आदि।


3
वैकल्पिक रूप से कुछ चलाएं जो निरंतर उत्पादन का उत्पादन करता है जैसे कि topआप दूर हैं।
लॉरेंस सी।

1
@ultrasawblade: यह एक डक्ट टेप फिक्स है; यह केवल लक्षण का इलाज करता है लेकिन सही समस्या को संबोधित नहीं करता है।
केविन एम।

क्या यह कॉन्फ़िगरेशन विंडोज सीएलआई के लिए लागू होता है? मेरा मतलब है कि, सत्र बचाने के बजाय, मैं पुट्टी.नेट पासिंग लॉगइन क्रेडेंशियल्स के लिंक को तर्क के रूप में बनाता हूं (पुट्टी। होस्ट -l रूट -pw पासवर्ड), यदि नहीं, तो क्या CLI के माध्यम से इस विकल्प को लागू करने का कोई तर्क है?
मैक कर्नेल

3
यह एक उत्कृष्ट समाधान है, खासकर जब आप एक अस्थिर कनेक्शन पर काम कर रहे हैं, और आपको सर्वर (स्वीकृत समाधान के विपरीत) में एक भी परिवर्तन करने की आवश्यकता नहीं है।
इटोक्टोपस

क्या किसी को पता है कि इसे cmd लाइन के माध्यम से कैसे निर्दिष्ट किया जाए?
जनक मीणा

8

अन्य उत्तरों के अलावा, मैं सुझाव screenदूंगा कि सत्र प्रबंधन में सक्षम होने के लिए भी अगर पोटीन समाप्त हो जाता है (कनेक्शन मर रहा है, वीपीएन नीचे जा रहा है, आदि)।


6

PuTTY में निम्न विकल्प की जाँच करें:

यहाँ छवि विवरण दर्ज करें


अफसोस की बात है, SO_KEEPALIVE केवल कुछ ही घंटों (कम से कम डिफ़ॉल्ट रूप से) हर जोड़े को भेजा जाता है, इसलिए उनके लिए एक बेहतर नाम "चेक" होगा यदि मृतक "LOL
rogerdpack

3

बस इसे अपने पोटीन पर चलाएं यह सुनिश्चित करें, प्रत्येक 10 मिनट के लिए अपने सत्र को सक्रिय करने के लिए।

 while true; do date; sleep 600; done

मैं हमेशा अपने सर्वर पर इसे चलाता हूं और यह काम नहीं करता है।
cokedude

1

यदि उपरोक्त में से कोई भी मदद नहीं करता है,
तो आपको अपने सिस्टम को बदलना होगा sshd config!
ध्यान दें, आप इस के लिए रूट की आवश्यकता होगी!

अपनी sshd_config फ़ाइल को संपादित करें , मेरे मामले में यह स्थित थी/etc/ssh/sshd_config

सामग्री थी:

ClientAliveInterval 300  
ClientAliveCountMax 0

में बदलो:

ClientAliveInterval 6000  
ClientAliveCountMax 3

मत भूलना

service sshd restart

1

आप topशेल प्रॉम्प्ट में कमांड का उपयोग कर सकते हैं । यह आपके सत्र को जीवित रखेगा।


यह एक समाधान के बजाय एक वर्कअराउंड की तरह लगता है।
कुसलानंद

@ कुसलानंद मुझे लगता है कि समाधान भी समाधान हो सकते हैं।
पीटर कहते हैं मोनिका

0

पोटीन Connection>SSHमेनू में, निम्न मान का उपयोग करें Remote command: bash --rcfile <(echo 'source ~/.bash_profile; unset TMOUT')

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