मेरे पास एक सर्वर है जो उबंटू और ओपनएसएसएच डेमन चला रहा है। इसे S1 कहते हैं।
मैं क्लाइंट मशीनों से इस सर्वर का उपयोग करता हूं (चलो उनमें से एक C1 को कॉल करें) दूरस्थ बंदरगाह अग्रेषण का उपयोग करके SSH रिवर्स सुरंग बनाने के लिए, उदाहरण के लिए:
ssh -R 1234:localhost:23 login@S1
S1 पर, मैं डिफ़ॉल्ट sshd_config फ़ाइल का उपयोग करता हूं। मैं जो देख सकता हूं, S1 पर सही क्रेडेंशियल {लॉगिन, pwd} वाले कोई भी व्यक्ति S1 में लॉग इन कर सकता है और या तो रिमोट पोर्ट फ़ॉरवर्डिंग और लोकल पोर्ट फ़ॉरवर्डिंग कर सकता है। इस तरह के क्रेडेंशियल्स भविष्य में एक प्रमाण पत्र हो सकते हैं, इसलिए मेरी समझ में प्रमाण पत्र हथियाने वाला कोई भी व्यक्ति कहीं से भी एस 1 में लॉग इन कर सकता है (जरूरी नहीं कि सी 1) और इसलिए स्थानीय पोर्ट अग्रेषण बनाएं।
मेरे लिए, स्थानीय पोर्ट अग्रेषण की अनुमति देना बहुत खतरनाक है, क्योंकि यह किसी प्रकार के सार्वजनिक प्रॉक्सी बनाने की अनुमति देता है। मैं एक रास्ता ढूंढ रहा हूँ, जिसमें केवल -L अग्रेषण अक्षम हों।
मैंने निम्नलिखित की कोशिश की, लेकिन यह स्थानीय और दूरस्थ अग्रेषण दोनों को अक्षम करता है:
AllowTcpForwarding No
मैंने निम्नलिखित की भी कोशिश की, यह केवल -L को SX: 1 की अनुमति देगा। यह कुछ भी नहीं से बेहतर है, लेकिन फिर भी मुझे जो चाहिए, वह "विकल्प" नहीं है।
PermitOpen SX:1
इसलिए मैं सोच रहा हूं कि क्या कोई रास्ता है, ताकि मैं कुछ लिखने के लिए सभी स्थानीय बंदरगाह को आगे से मना कर सकूं:
PermitOpen none:none
निम्नलिखित एक अच्छा विचार है?
PermitOpen localhost:1