Sshd को एक विशिष्ट इंटरफ़ेस सुनें


15

अपनी मशीन पर मैं OpenVPN का उपयोग कर रहा हूं जो tun0 इंटरफ़ेस का उपयोग करता है। मैं केवल इस इंटरफ़ेस पर सुनना चाहता हूँ।

मुझे पता है, मैं सुनने के लिए आईपी पता निर्दिष्ट कर सकता हूं

/etc/ssh/sshd_config

के साथ

ListenAddress 0.0.0.0

निर्देश। लेकिन मेरा आईपी पता बदल जाएगा, इसलिए मैं यहां ऐसा आईपी नहीं चुन सकता जो हमेशा मान्य हो। मुझे पता है कि मैं डेमॉन तभी शुरू कर सकता हूं जब वीपीएन ऊपर हो - यह समस्या नहीं है।

मैं sshd को केवल एक विशिष्ट इंटरफ़ेस (ट्यून) पर कैसे सुन सकता हूँ?


2
फ़ायरवॉल पोर्ट 22 किसी भी पोर्ट पर नहीं है tun0?
NickW

जवाबों:


7

आप ऐसा नहीं कर सकते सीधे sshd के रूप में केवल आईपी पते को समझता है। आप एक ओपनवैप अप स्क्रिप्ट का उपयोग करके एक साथ कुछ दस्तक देने में सक्षम हो सकते हैं

-अप cmd शैल कमांड सफल TUN / TAP डिवाइस ओपन (प्री - यूसर यूआईडी चेंज) के बाद चलने के लिए। अप स्क्रिप्ट उन रूट कमांड्स को निर्दिष्ट करने के लिए उपयोगी है, जो आईपी ट्रैफ़िक को निजी सबनेट के लिए नियत करते हैं, जो टनल में वीपीएन कनेक्शन के दूसरे छोर पर मौजूद हैं ...

--downसफाई का विकल्प भी देखें और स्क्रिप्ट सुरक्षा इत्यादि के दस्तावेज़ीकरण के प्रासंगिक हिस्से आदि।

आपको पता चलेगा कि ट्यून डिवाइस का आईपी एड्रेस एक पर्यावरण चर के रूप में स्क्रिप्ट को दिया जाता है। इसके अलावा sshd फॉर्म की कमांड लाइन पर विकल्प लेता है

-oSomeOption=SomeValue

-o विकल्प का उपयोग विन्यास फाइल में प्रयुक्त प्रारूप में विकल्प देने के लिए किया जा सकता है। यह उन विकल्पों को निर्दिष्ट करने के लिए उपयोगी है जिनके लिए कोई अलग कमांड-लाइन ध्वज नहीं है। विकल्पों के पूर्ण विवरण और उनके मूल्यों के लिए, sshd_config (5) देखें

तो आप उपयोग कर सकते हैं

-o ListenAddress=<some address>

संभवत: आपके पास अपने वीपीएस से बात करने की कुछ बैंड विधि है ताकि जब यह टूट जाए तो आप सर्वर से संपर्क कर सकें।


1
कोशिश करें:-o ListenAddress=$(ip addr | awk '/inet/ && /tun0/{sub(/\/.*$/,"",$2); print $2}')
pjz

@pjz मुझे नहीं लगता कि आपको ऐसा करने की आवश्यकता है क्योंकि मुझे पूरा यकीन है कि डिवाइस का आईपी पता अप स्क्रिप्ट के लिए एक पर्यावरण चर के रूप में उपलब्ध है। मेरे पास इसका परीक्षण करने के लिए सामान नहीं है।
user9517

1
अति उत्कृष्ट! IP को अप स्क्रिप्ट पर ifconfig_local = 10.xx.xx.xx के रूप में दिया जाता है। अन्य डेटा (dev_type = tun, common_name = myservername, ifconfig_remote, path_gateway_1, untrusted_ip, ifconfig_local, proto_1, ts_serial_1, tls_serial_0 ...) का एक पूरा गुच्छा साथ पारित किया जाता है।
फिलिप

हाँ मुझे पता है और अब आप भी करते हैं :)
user9517

3
हो सकता है कि आप अपने उत्तर को संपादित करना चाहते हों और संबंधित एनवी चर नाम जोड़ना चाहते हों? (भविष्य के पाठकों के लिए)
फिलिप
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.