2011-08-26 13 views
42

मैं एसएसएच के माध्यम से अपने ईसी 2 उदाहरणों के लिए आदेश जारी करने में सक्षम हूं और ये आदेश उन उत्तरों को लॉग करते हैं जिन्हें मुझे लंबे समय तक देखना जारी रखना है। बुरी बात यह है कि एसएसएच कमांड मेरी निष्क्रियता के कारण कुछ समय बाद बंद हो गया है और अब मैं यह नहीं देख पा रहा हूं कि मेरे उदाहरणों के साथ क्या चल रहा है।अमेज़ॅन ईसी 2 एसएसएच टाइमआउट निष्क्रियता

मैं अमेज़ॅन लिनक्स मशीनों में टाइमआउट को कैसे अक्षम/बढ़ा सकता हूं?

त्रुटि इस तरह दिखता है:

Read from remote host ec2-50-17-48-222.compute-1.amazonaws.com: Connection reset by peer

उत्तर

9

screen या byobu का उपयोग करने पर विचार करें और समस्या दूर हो जाएगी। और भी, भले ही कनेक्शन खो गया हो, फिर भी आप screen -r या byobu -r के माध्यम से पहले की समान टर्मिनल स्क्रीन तक पहुंच को पुन: कनेक्ट और पुनर्स्थापित कर सकते हैं।

बायोबू स्क्रीन के लिए एक वृद्धि है, और विकल्पों का एक अद्भुत सेट है, जैसे ईसी 2 लागत का अनुमान।

+0

इनमें से किसी के लिए कोई अच्छा ट्यूटोरियल है? ऐसा लगता है कि ईसी 2 होस्ट पर प्रीइंस्टॉल नहीं किया गया है, और जो मैंने पढ़ा है उससे आपको सर्वर पर चलाना होगा। –

+2

मैं नीचे @ brandnewcode 'serverAliveInterval' पसंद करता हूं। मैं tmux का उपयोग कर रहा हूं, जो स्क्रीन के समान है। Tmux का एक अनपेक्षित लाभ स्टेटस बार पर एक घड़ी है जो कनेक्शन को खुला रखने के लिए हर मिनट अपडेट करता है। tl; dr: 'tmux' सत्र शुरू करने के लिए, और 'tmux a' को फिर से संलग्न करने के लिए। – dannyman

+5

इसे सही उत्तर के रूप में चिह्नित नहीं किया जाना चाहिए क्योंकि यह एक अलग प्रश्न का उत्तर देता है। –

5

मैं पोटीन के लिए पता है कि तुम एक keepalive सेटिंग का उपयोग कर सकते तो यह कुछ गतिविधि पैकेट हर बार के रूप में जाने के लिए नहीं "निष्क्रिय" या "बासी" भेज देंगे

http://the.earth.li/~sgtatham/putty/0.55/htmldoc/Chapter4.html#S4.13.4

आप अन्य ग्राहक मुझे पता है उपयोग कर रहे हैं।

+0

मैं बैश एसएसएच का उपयोग कर रहा हूं। – Roberto

-6

मेरे पास 10+ कस्टम एएमआई हैं जो सभी अमेज़ॅन लिनक्स एएमआई पर आधारित हैं और मैंने एसएसएच कनेक्शन पर निष्क्रियता के कारण कभी भी किसी भी समय-समय पर मुद्दों को नहीं चलाया है। मेरे पास कनेक्शन एक सिंगल कमांड चलाने के बिना 24 घंटे से अधिक खुला रहता है। मुझे नहीं लगता कि अमेज़ॅन लिनक्स एएमआई में कोई भी टाइमआउट बनाया गया है।

+0

क्या आपको पता है मुझे यह त्रुटि क्यों मिल रही है? – Roberto

+0

मुझे लगता है कि यह कहना पर्याप्त है कि अधिक लोगों को समय से बाहर नहीं मिल रहा है और एक संभावित कारण है कि आपको समय-समय पर क्यों नहीं मिल रहा है क्योंकि आपके पास अपने एसएसएच के लिए क्लाइंट सेटिंग है जो रिमोट पीयर को कभी-कभी डिस्कनेक्ट/अपने कनेक्शन पर होने से रीसेट करें। – Jim

26

मानते हुए अपने अमेज़न EC2 उदाहरण लिनक्स (और बहुत संभावना मामला है कि आप प्रयोग कर रहे हैं SSH-2, नहीं 1), निम्नलिखित सुंदर handily काम करना चाहिए चल रहा है:

  1. रिमोट अपने EC2 उदाहरण में।

    ssh -i <YOUR_PRIVATE_KEY_FILE>.pem <INTERNET_ADDRESS_OF_YOUR_INSTANCE> 
    
  2. उदाहरण के लिए SSH सर्वर विन्यास फाइल करने के लिए एक "क्लाइंट-जिंदा" निर्देश जोड़ें।

    echo 'ClientAliveInterval 60' | sudo tee --append /etc/ssh/sshd_config 
    
  3. कॉन्फ़िगरेशन परिवर्तन को पहचानने के लिए, एसएसएच सर्वर को पुनरारंभ या पुनः लोड करें।

    • उबंटू लिनक्स पर उस के लिए आदेश होगा ..

      sudo service ssh restart 
      
    • पर किसी अन्य लिनक्स, हालांकि, निम्नलिखित शायद सही है ..

      sudo service sshd restart 
      
  4. Di sconnect।

    logout 
    

अगली बार जब आप कि EC2 उदाहरण में SSH, उन सुपर कष्टप्रद लगातार कनेक्शन फ्रीज़/समय समाप्ति/बूँदें उम्मीद है कि चला जाना चाहिए।

यह Google Compute Engine उदाहरणों के साथ भी मदद करता है, जो समान रूप से कष्टप्रद डिफ़ॉल्ट सेटिंग्स के साथ आते हैं।

चेतावनी: ध्यान दें कि TCPKeepAlive सेटिंग्स (जो भी मौजूद हैं) आसानी से कि मैं ऊपर का प्रस्ताव ClientAlive सेटिंग्स से अलग हैं, फिर भी, और डिफ़ॉल्ट से TCPKeepAlive सेटिंग बदलकर वास्तव में अपने दर्द हो सकता है कि मदद की बजाय स्थिति।

अधिक यहाँ जानकारी: http://man.openbsd.org/?query=sshd_config

+2

जो मुझे लगता है कि 'सुडो सेवा एसएसडीडी पुनरारंभ' होना चाहिए? – CupawnTae

+1

@ कूपनटे आह, आप शायद सही हैं: ओपी अमेज़ॅन लिनक्स को अपने प्रश्न में कहते हैं। दरअसल, हमें अमेज़ॅन लिनक्स एएमआई के संदर्भ में Red Hat Enterprise Linux पर आधारित होना चाहिए- जहां आपकी वर्तनी सही होगी। – naki

+0

@ कूपनटे ... मैं अपने अमेज़ॅन ईसी 2 लिनक्स उदाहरणों पर उबंटू का उपयोग करता हूं। अगर कोई उबंटू का उपयोग कर रहा है, तो उसे इसे लिखने के तरीके को जादू करना चाहिए। – naki

76

तुम एक अपने ~/.ssh/config अपने कंप्यूटर के घर निर्देशिका पर फ़ाइल में जिंदा विकल्प रखना सेट कर सकते हैं:

ServerAliveInterval 50 

अमेज़न एडब्ल्यूएस आमतौर पर के बाद अपना कनेक्शन चला जाता है केवल 60 सेकंड निष्क्रियता, इसलिए यह विकल्प प्रत्येक 50 सेकंड में सर्वर को पिंग करेगा और आपको अनिश्चित काल तक कनेक्ट रखेगा।

+2

यह सेटिंग क्लाइंट पक्ष पर है, एडब्ल्यूएस सर्वर के विपरीत, है ना? उत्तर में उल्लेख करने लायक होगा। इसके अलावा, क्या आप 60 सेकंड के बारे में निश्चित हैं? समय-समय पर मेरे कनेक्शन के लिए यह निश्चित रूप से उससे अधिक समय लेता है। – CupawnTae

+1

हां, यह आपके * निक्स कंप्यूटर पर आपके एसएसएच कॉन्फ़िगरेशन पर क्लाइंट साइड पर है। मैं जवाब अपडेट करूंगा, धन्यवाद! मेरे लिए यह वास्तव में 120 सेकंड है, लेकिन मेरे पास एक अन्य क्षेत्र में काम करने वाला एक सहकर्मी है और यह उसके लिए 60 सेकंड में टाइमआउट करता है। मुझसे मत पूछो क्यों, मैं अमेज़ॅन में काम नहीं करता! यही कारण है कि मैंने 'आमतौर पर' 60 सेकंड कहा। मैंने सोचा कि यह 50 सेकंड की सिफारिश करने के लिए समझदार है क्योंकि 1. यह लगभग हर किसी के लिए काम करेगा और 2. यह आपके नेटवर्क कनेक्शन को तोड़ने वाला नहीं है, यह सिर्फ एक पिंग है। आप 10 सेकंड डाल सकते हैं और यह अभी भी कुछ प्रकार के सर्वर प्रतिबंध में नहीं आने के लिए पर्याप्त प्रकाश होगा। – mauriciomdea

+0

बहुत बहुत धन्यवाद। निष्क्रियता के 1 मिनट के बाद हर समय फिर से कनेक्ट करना दर्द था। यह मेरी मदद की। –

संबंधित मुद्दे