मैं धीमे / परतदार कनेक्शन पर कैसे ssh करूं?


20

मैं वास्तव में धीमी गति से शेल कनेक्शन के साथ काम कर रहा हूं। यह क्लाउड में है और मैं सर्वर से बहुत दूर हूं। मेरा कनेक्शन भी कभी-कभी टूट जाता है क्योंकि यह इंटरनेट पर है और मैं साझा वाईफ़ाई या 3 जी का उपयोग भी कर सकता हूं। क्या यह देखने का कोई तरीका है कि मैं तुरंत क्या लिखता हूं? आदेशों को टाइप करने की कोशिश करना और प्रत्येक वर्ण की प्रतीक्षा करना अत्याचारी है।


4
अपने सत्र को जीवित रखने के लिए "स्क्रीन" का उपयोग करें, ताकि आप डिस्कनेक्ट होने पर फिर से कनेक्ट कर सकें।
कोनरक

जवाबों:


24

Mosh की कोशिश करें ।

Mosh (मोबाइल शेल)
रिमोट टर्मिनल एप्लिकेशन जो रोमिंग की अनुमति देता है, आंतरायिक संपर्क का समर्थन करता है, और उपयोगकर्ता कीस्ट्रोक्स के बुद्धिमान स्थानीय गूंज और लाइन संपादन प्रदान करता है।

Mosh SSH के लिए एक प्रतिस्थापन है। यह अधिक मजबूत और उत्तरदायी है, विशेष रूप से वाई-फाई, सेलुलर और लंबी दूरी की लिंक पर।

Mosh मुफ्त सॉफ्टवेयर है, जो GNU / Linux, FreeBSD, Solaris, Mac OS X और Android के लिए उपलब्ध है।


3
मोव्स के लिए कैवट्स: (1) यह ssh की तुलना में बहुत अधिक cpu गहन है। (२) यदि आपका mosh सत्र सामान्य रूप से समाप्त नहीं होता है, तो आपके पास एक लीक कनेक्शन होगा जो कभी भी पुनः स्थापित नहीं हो सकता है। (मुझे अपने शेल बॉक्स को फिर से खोलना होगा अन्यथा दर्जनों प्रक्रियाएं चलेंगी)।
user606723

एक और मुद्दा यह है कि स्यूस (SLES) जैसे लिनक्स डिस्ट्रो पर इसे स्थापित करना असंभव है। मैंने घंटों इसे या तो ओपनस्यूज़ पैकेज के रूप में स्थापित करने की कोशिश की या इसे स्रोत से संकलित किया।
लाश 2

$ sudo zypper in mosh (डॉक्स की
रिकॉर्डिंग

हाँ, जो ओपनस्यूज़ पर ठीक काम करेगा, लेकिन एक कॉर्पोरेट / बंद डिस्ट्रो नए ओपन सोर्स प्रोजेक्ट्स को स्थापित करने के लिए बहुत ही काम कर रहा है।
लाश

10

एक विकल्प (और यह भी अतिरिक्त) dmourati जवाब देने के लिए: उपयोग screenया tmuxया अन्य चीजें, सत्र जीवित रखने के लिए जब आप डिस्कनेक्ट हैं। (आप बस पुन: कनेक्ट होने के बाद सत्र को पुनः संलग्न करते हैं, और टर्मिनल को देखते हैं क्योंकि आपने इसे छोड़ दिया था, यहां तक ​​कि पूर्ण स्क्रीन प्रोग्राम [vi, आदि]) के साथ। इसके कई अन्य लाभ भी हैं (सहकर्मियों के साथ सत्र साझा करना, आदि) (जैसा कि मोश स्वयं के अनुसार यह बताता है:

प्रश्न: मेरे टर्मिनल का स्क्रॉलबैक बफर अधूरा क्यों है?

Mosh 1.2 केवल टर्मिनल की दृश्यमान स्थिति को सिंक्रनाइज़ करता है। Mosh 1.3 में पूर्ण स्क्रॉलबैक समर्थन होगा; इस मुद्दे को देखें और अन्य जो वहां से जुड़े हुए हैं। अभी के लिए, वर्कअराउंड का उपयोग रिमोट साइड पर स्क्रीन या tmux का उपयोग करना है।

और आपको rsyncफ़ाइलों को कॉपी करने के लिए भी उपयोग करना चाहिए , कनेक्शन के मर जाने पर नेटवर्क पर पहले से ही भेजे गए भागों को फिर से भेजने के बिना।


2

आपको देखना चाहिए कि विलंबता / अड़चन कहां है। आपको बुनियादी ढांचे तक बेहतर पहुंच बनाने की कोशिश करनी चाहिए ... स्थानीय स्तर पर या प्रदाता की तरफ। आप में अपने महत्वपूर्ण या महत्वपूर्ण सत्र लपेट tmuxया screenmultiplexers ...

कृपया हमें नंबर दें। समस्याओं के लिए साधारण SSH सत्रों के लिए यह विशेष रूप से बुरा संबंध रखता है ... मुझे एक वीपीएन से अधिक हवाई जहाज से दुनिया के दूसरी तरफ सिस्टम का उपयोग करना पड़ा है और अभी भी बहुत परेशानी नहीं हुई है। क्या यह एक लगातार मुद्दा है? क्या tracerouteबताता है?


मुद्दा होटल के वाईफाई पर होता है, जहां बहुत कम राउटर और बहुत सारे डिवाइस / लैपटॉप इंटरनेट एक्सेस साझा करते हैं। साथ ही साझा की गई होटल वाईफाई स्वाभाविक रूप से पिंग के समय के साथ बहुत ही स्वादिष्ट है क्योंकि 1 या अधिक दीवारों से गुजरना वास्तव में बहुत सारे एमएस विलंब को जोड़ता है। वह भी एक और बड़ी अड़चन है। इसी तरह की स्थिति 3 जी पर होती है, जहां सेल फोन टॉवर से बहुत दूरी एमएस जोड़ता है। एसएसएच गोले का उपयोग करते समय, मुझे प्रत्येक चरित्र के लिए इंतजार करना होगा। 200-400 का एक एमएस बहुत कष्टप्रद हो सकता है, लेकिन 1 सेकंड तक के स्पाइक्स के साथ ... आउच।
लाश

1

इस सूत्र के भविष्य के पाठकों के लिए, उनके ब्लॉग में @lowellheddings की टिप , स्क्रीन के उपयोग के साथ , इस समस्या को दूर करने में मदद कर सकती है:

आप ssh क्लाइंट को स्वचालित रूप से हर सेकंड में एक प्रोटोकॉल no-op कोड कोड भेजने के लिए कॉन्फ़िगर कर सकते हैं ताकि सर्वर आपको डिस्कनेक्ट न करे। इस सेटिंग को कभी-कभी अन्य क्लाइंट्स में Keep-Alive या Stop-Disconnecting-So-Much के रूप में जाना जाता है।
निम्न पंक्ति को / etc / ssh / ssh_config फ़ाइल में जोड़ें: ServerAliveInterval
60
...

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