मेरे पास दो मशीनों के बीच एक अविश्वसनीय नेटवर्क कनेक्शन है: कभी-कभी सक्रिय टीसीपी कनेक्शन मेरे नियंत्रण से परे कारणों से गिराए जाते हैं। मैं दो मशीनों के बीच एक विश्वसनीय टीसीपी कनेक्शन स्थापित करना चाहता हूं ।
यदि नेटवर्क विश्वसनीय था, तो मैं बस चलाऊंगा ssh -L 1234:localhost:1234 remotehost
, जिसमें सर्वर 1234 पोर्ट पर सुन रहा होगा remotehost
, और क्लाइंट को इंगित करेगा localhost:1234
। लेकिन अगर ssh कनेक्शन मर जाता है, तो आगे का कनेक्शन होगा। मैं क्लाइंट और सर्वर के बीच कनेक्शन को स्वचालित रूप से पुनर्स्थापित करने की व्यवस्था कैसे कर सकता हूं?
गैर-समाधान:
- यह इंटरैक्टिव अनुप्रयोगों के लिए नहीं है, इसलिए स्क्रीन लागू नहीं होती है।
- यह सिर्फ SSH सुरंग को स्वचालित रूप से फिर से जोड़ने के बारे में नहीं है, h ला ऑटोसह । मैं उसी सुरंग वाले टीसीपी कनेक्शन का उपयोग जारी रखना चाहता हूं, एक नई शुरुआत नहीं।
- सिद्धांत रूप में, एक वीपीएन ट्रिक करेगा। लेकिन ऐसा लगता है कि जब मैं सिर्फ एक टीसीपी कनेक्शन चाहता हूं, तो यह ओवरकिल हो जाता है, और मैं एक ऐसा समाधान चाहूंगा जो काम करता हो, भले ही मेरे पास रूट अनुमति न हो।
मेरे पास एक कार्यक्रम की मंद स्मृति rocks
है, जिसने बस ऐसा ही किया है, लेकिन ऐसा लगता है कि यह वेब के चेहरे से गिर गया है। मैं ज्यादातर दोनों पक्षों पर लिनक्स में दिलचस्पी लेता हूं (हालांकि मैं इस स्तर पर एक कार्यक्रम को अन्य यूनियनों के पोर्टेबल होने की उम्मीद करूंगा), लेकिन अगर आप एक ऐसे कार्यक्रम के बारे में जानते हैं जो QNX और VMS के बीच काम करता है, तो सभी बेहतर हैं।
scp
। मैं आपके पोर्ट-फ़ॉरवर्डिंग उदाहरण के आधार पर w / ssh के रखवालों का जवाब दे रहा था। पुन :: परतदार नीचे की उम्मीद है, वहाँ बहुत कुछ तुम नहीं कर सकते, रखवाले के साथ एक ssh सत्र बनाने के अलावा है कि और अधिक सहिष्णु हैं (यानी और अधिक गिराए रखने के साथ रखने की अनुमति ) ServerAliveInterval > 0
और ServerAliveCountMax > 3
। NAT को कम रखने वाले अंतराल की आवश्यकता होती है। मुख्य मुद्दा यह है कि समस्या क्या है और तदनुसार दर्जी की पहचान करना है। विकल्पों को रखो .ssh/config
ताकि वे हमेशा आपके लिए हों
rocks
कार्यान्वयन के लिए निश्चित या आशा से अधिक कर सकें ... हालांकि यह स्पष्ट रूप से एक वास्तविक कीचड़ है