हमारे पास कुछ हार्डवेयर हैं जो हम अपने ग्राहकों के स्थानों पर स्थापित करते हैं, वह हार्डवेयर हमारे ssh सर्वर से जुड़ता है और एक रिवर्स ssh सुरंग स्थापित करता है ताकि हम निगरानी उद्देश्यों के लिए कई क्लाइंट सिस्टम तक पहुँच प्राप्त कर सकें।
SSH सत्र के अशुद्ध डिस्कनेक्ट होने तक सब कुछ ठीक काम करता है।
जब ऐसा होता है, तो हमारे SSH सर्वर पर रिवर्स सुरंग द्वारा उपयोग किए जाने वाले पोर्ट लिस्टेनिंग मोड में अटके रहते हैं और जब हमारा रिमोट हार्डवेयर अंततः ऑटो को फिर से कनेक्ट करने और अपने सुरंगों को फिर से स्थापित करने की कोशिश करता है तो यह त्रुटि के साथ विफल हो जाता है
चेतावनी: दूरस्थ पोर्ट फॉरवर्डिंग सुनो पोर्ट XXXX के लिए विफल
मैंने परीक्षण किया कि क्या हमारे एसएसएच सर्वर या क्लाइंट के साथ एक साफ डिस्कनेक्ट और पाठ्यक्रम की कोशिश करके एक समस्या थी जो बंदरगाहों को ठीक जारी करती है। जब मैं एक कनेक्शन विफलता का अनुकरण करता हूं (उदाहरण के लिए क्लाइंट हार्डवेयर के ईथरनेट पोर्ट को डिस्कनेक्ट करें) तो हमारे पास वही समस्या है जो मैंने ऊपर वर्णित की है।
इस स्थिति से निपटने का उचित तरीका क्या है? ध्यान रखें ये उलट सुरंग हैं इसलिए जो कुछ भी होता है वह एसएसएच सर्वर पर किया जाना चाहिए। आदर्श रूप से, मुझे तुरंत एसएसएल सत्र को महसूस करने के लिए ssh सर्वर की आवश्यकता है कि सुरंगों की मेजबानी करने वाला SSH नीचे है और इसके द्वारा उपयोग किए जा रहे पोर्ट को रिलीज़ करें। मुझे लगता है कि समाधान में संबंधित एसएसएच प्रक्रिया को मारना शामिल हो सकता है, लेकिन मुझे उस कारण से सावधान रहने की आवश्यकता है क्योंकि हमारे पास कई ग्राहक एक ही ssh सर्वर से जुड़ रहे हैं और मैं उन्हें ऑफ़लाइन किक नहीं करना चाहूंगा।
इतना परिपक्व होने के नाते, मुझे यकीन है कि SSHD के पास इसे संभालने के लिए किसी प्रकार की सुविधा है, लेकिन मैं अभी इसका पता नहीं लगा सकता।
कृपया सलाह दें ताकि मुझे विंडोज बॉक्स को वापस करने की आवश्यकता न पड़े ...
FYI करें: मैं इसे डेबियन आधारित डिस्ट्रो पर चला रहा हूं।