डिफ़ॉल्ट रूप से, Ubuntu फ़ायरवॉल के साथ आने वाले कनेक्शन प्रयासों को फ़िल्टर नहीं करता है। इसलिए जब तक आप उबंटू में फ़ायरवॉल सेटिंग्स नहीं बदलते हैं, किसी भी टीसीपी पोर्ट से कनेक्शन खोलने का प्रयास, 1 65535 के माध्यम से, या तो होगा:
यह ठीक उसी स्थिति का कारण बनता है जिस स्थिति का आपने वर्णन किया है। इसलिए आप यह सुनिश्चित कर सकते हैं कि पोर्ट लैन पर सही आईपी पते पर भेजा जा रहा है या नहीं।
... तो आपको कुछ समस्या निवारण करना होगा।
क्या लैन साइड के लिए पोर्ट सही है? यह मानते हुए कि आपने SSH सर्वर के कॉन्फ़िगरेशन को नहीं बदला है, ओपनएसएसएच सर्वर पर 22 को पोर्ट करने के लिए सेट किए गए वान पक्ष पर 57757 पोर्ट है? (आप इसे दोबारा जांच सकते हैं।)
शायद आपके द्वारा चुने गए विशिष्ट पोर्ट (57757) के साथ कुछ समस्या है। एक अलग कोशिश करें और देखें कि क्या बेहतर काम करता है।
(यदि यह नहीं है, और आप इन निर्देशों के साथ आगे बढ़ते हैं, तो इसे वापस बदल दें या नीचे दिए गए "57757" को नए नंबर से बदल दें।)
OpenSSH सर्वर को पुनरारंभ करने का प्रयास करें। अगर नेटवर्क समस्या है तो यह मदद कर सकता है। यदि वह मदद नहीं करता है, तो राउटर और केबल / डीएसएल / आईएसडीएन मॉडेम को भी पुनरारंभ करने का प्रयास करें।
यदि किसी कारण से आप तीनों उपकरणों को पुनः आरंभ नहीं कर सकते हैं, तो मैं सुझाव देता हूं कि आप जो भी कर सकते हैं, उसे पुनः आरंभ करें। यदि आप ओपनएसएसएच सेवा को पुनः आरंभ नहीं कर सकते हैं, तो कम से कम आप सेवा को पुनः आरंभ कर सकते हैं और (इसे ठीक करने की अधिक संभावना है) इंटरफ़ेस को नीचे ले जाएं और इसे फिर से ऊपर लाएं।
OpenSSH सर्वर को पुनरारंभ करने के लिए:
sudo restart ssh
नेटवर्क इंटरफ़ेस को नीचे लाने के लिए, पहले पता लगाएँ कि यह किस इंटरफ़ेस पर है:
ifconfig
आमतौर पर, एक एकल ईथरनेट कार्ड और / या एक वायरलेस कार्ड के साथ एक मशीन के लिए, ईथरनेट है eth0
और वायरलेस है wlan0
।
यदि वायर्ड ईथरनेट कनेक्शन वह है जिसे आप नीचे ले जाना और फिर से शुरू करना चाहते हैं, तो चलाएं:
sudo ifdown eth0
फिर भागो:
sudo ifup eth0
वैकल्पिक रूप से, आप चला सकते हैं:
sudo ifconfig eth0 down
के बाद:
sudo ifconfig eth0 up
यदि मशीन उस इंटरफ़ेस को प्रबंधित करने के लिए NetworkManager का उपयोग कर रही है जिस पर OpenSSH सर्वर चल रहा है, तो मैं अभी भी उपरोक्त तरीकों की कोशिश करने की सलाह देता हूं, लेकिन आप NetworkManager में डिस्कनेक्ट करने और फिर से कनेक्ट करने का भी प्रयास कर सकते हैं।
ईथरनेट कनेक्शन के लिए, केबल को अनप्लग करने का प्रयास करें और इसे वापस प्लग इन करें। वायरलेस कनेक्शन के लिए, इसे हार्डवेयर स्विच (यदि कोई है) के साथ बंद करने का प्रयास करें, और फिर से वापस करें।
यहां कुछ अजीब चल रहा है और इसमें से कोई भी बहुत लंबा नहीं लगता है - यह अधिक कष्टप्रद समस्या निवारण कदम उठाने से पहले पूरी तरह से लायक है।
आप इसे WAN की ओर से कैसे एक्सेस करने का प्रयास कर रहे हैं? यदि आप ऐसा करने के लिए LAN पर एक मशीन का उपयोग कर रहे हैं (केवल LAN से अपने राउटर के WAN IP से कनेक्ट कर रहे हैं ), यह केवल कुछ राउटर के लिए समर्थित है। आखिरकार, राउटर का काम WAN और LAN पक्षों के बीच ट्रैफ़िक को रूट करना है, न कि ट्रैफ़िक को एक तरफ से रूट करना। लैन के अंदर से वान आईपी पर अग्रेषित बंदरगाहों से कनेक्ट करने के लिए समर्थन वास्तव में नियम के बजाय अपवाद है, हालांकि कई घर / कार्यालय राउटर में यह सुविधा है।
इसलिए यदि आप WAN की ओर से होस्ट से आगे पोर्ट का परीक्षण नहीं कर रहे हैं, तो आपको ऐसा करना चाहिए। इसके लिए आपके विकल्प हैं:
WAN की तरफ से खुद को कनेक्ट करें। यह काम करता है यदि आपके पास वहां एक मशीन तक पहुंच है, उदाहरण के लिए, स्कूल में एक दूरस्थ मशीन तक एसएसएच पहुंच, काम, एक दोस्त के घर, या इसी तरह की।
राउटर के बीच परीक्षण मशीन को कनेक्ट करें और जो कुछ भी इसका इंटरनेट कनेक्शन प्रदान करता है । यदि आपके पास एक ईथरनेट पोर्ट के साथ केबल / डीएसएल / आईएसडीएन मॉडेम है और आपके राउटर को प्लग किया गया है, तो आप मॉडेम से स्विच कनेक्ट कर सकते हैं और राउटर को स्विच से कनेक्ट कर सकते हैं । कंप्यूटर को स्विच से कनेक्ट करें। पहले देखें कि क्या वह मशीन सिर्फ इंटरनेट एक्सेस प्राप्त करती है - इन दिनों, कई आईएसपी दो या दो से अधिक आईपी पते प्रदान करते हैं। यदि ऐसा नहीं होता है , तो अपने राउटर के सेटअप पेज पर जाएं और उसके WAN IP और WAN सबनेट मास्क की जांच करें , फिर उसी-सबनेट के भीतर स्विच-कनेक्टेड मशीन को एक IP पता असाइन करें।
इस विधि के कुछ नुकसान हैं। यह एक दर्द है! इसके अलावा, आईएसपी के लिए अपने नेटवर्क को गलत तरीके से कॉन्फ़िगर करना सैद्धांतिक रूप से संभव है ताकि स्विच से जुड़ी टेस्ट मशीन इंटरनेट तक पहुंच सके। (जब तक कि यह आपके ISP का इरादा नहीं है कि आप एक से अधिक WAN IP और से कनेक्ट होंआपने परीक्षण मशीन के लिए एक WAN IP उठाया है जिसे आपके ISP ने आपको सौंपा है, इसके बीच ट्रैफ़िक और एक सच्चे WAN होस्ट को ISP द्वारा अवरुद्ध / छोड़ दिया जाना चाहिए। लेकिन कुछ ISP की अजीब प्रथाएं हैं, इसलिए कौन जानता है?) यदि ऐसा होता है, तो इससे किसी को भी गंभीर समस्या नहीं होगी (और अगर ऐसा किया भी है, तो आप इसे केवल कुछ मिनटों के लिए कनेक्ट कर सकते हैं)। हालांकि, इसे संभावित रूप से आपकी सदस्यता की सीमा से परे अतिरिक्त पहुंच प्राप्त करने के प्रयास के रूप में देखा जा सकता है, और - अधिक महत्वपूर्ण बात - यदि किसी अन्य उपयोगकर्ता के पास वही आईपी है, तो यह उनके कनेक्शन के साथ पूर्ण हो सकता है। इसलिए, यदि आप इस विधि को आजमाना चाहते हैं, परीक्षण मशीन से इंटरनेट का उपयोग करने का प्रयास न करें, तुरंत रोकें यदि आपको लगे कि परीक्षण मशीन इंटरनेट तक पहुंच सकती है, और यदि आपके आईएसपी द्वारा प्रतिबंधित या सलाह दी गई है, तो यह बिल्कुल भी प्रयास न करें। (और इसका उपयोग न करें यदि आपके राउटर का WAN पक्ष एक ऑफिस लैन है, तो पहले अपने नेटवर्क एडमिनिस्ट्रेटर से सलाह लिए बिना। यह एक ISP नहीं है और कोई अनुमान नहीं है कि अवांछित पहुंच को रोकने के लिए संसाधनों का प्रावधान किया गया है।)
इस तकनीक पर एक भिन्नता है जो कभी-कभी अधिक उपयुक्त होती है। आपके राउटर को संभवतः इसकी कनेक्शन जानकारी मिलती है - आईपी एड्रेस, सबनेट मास्क, डब्लूएएन पर गेटवे (राउटर) का आईपी पता जो इसका उपयोग तब करता है जब यह नहीं जानता कि कुछ कहां भेजा जाए, और DNS सर्वरों के बारे में जानकारी - अपने से आईएसपी, डीएचसीपी के माध्यम से, केबल / डीएसएल / आईएसडीएन मॉडेम के माध्यम से। यही कारण है कि आपको WAN- साइड परीक्षण के परिणामों को सार्थक बनाने के लिए आवश्यक कॉन्फ़िगरेशन देने के लिए राउटर को मॉडेम में प्लग करना होगा। लेकिन राउटर आमतौर पर इस जानकारी को याद रखेगा, इसलिए जब तक यह वास्तव में WAN साइड पर एक नेटवर्क से जुड़ा होता है। तो आप राउटर, मॉडेम और टेस्ट मशीन को कनेक्ट कर सकते हैं, लेकिन फिर, जल्दी, औरपरीक्षण मशीन के साथ कुछ भी करने से पहले सुनिश्चित करें कि स्विच इसे जुड़ा हुआ है , मॉडेम को डिस्कनेक्ट करें।
अपने बंदरगाहों का परीक्षण करने के लिए इंटरनेट पर एक मुफ्त सेवा का उपयोग करें। अपने राउटर के WAN इंटरफ़ेस और इंटरनेट (ऊपर) के बीच एक परीक्षण मशीन सम्मिलित करने के बाद से अत्यधिक शामिल है - और चूंकि यह आपके ISP द्वारा अवरुद्ध होने के कारण दुर्गम होने पर भी एक पोर्ट को सुलभ दिखाएगा (जो कनेक्ट करने के लिए भी सही है) राउटर की लैन की ओर से WAN IP) - आमतौर पर वेब-आधारित पोर्ट स्कैनिंग सेवा का उपयोग करना बेहतर होता है।
कई पोर्ट स्कैन सेवाएं हैं। (कुछ खेल वाक्यांश "अपने फ़ायरवॉल की जांच करें" इस विचार के साथ कि ज्यादातर लोग सुविधा की बजाय ब्लॉक करने की कोशिश कर रहे हैं ।) यह एक है। आप उपयोग करना है कि एक का चयन करते हैं, तो क्लिक करें आगे बढ़ें , पाठ बॉक्स में 57,757 टाइप करें, और क्लिक करें का प्रयोग करें द्वारा बताया गया कस्टम पोर्ट जांच । सर्वर को चलाने के लिए प्राप्त करने के प्रयोजनों के लिए, आप चाहते हैं कि यह "खुला" हो। "बंद" का अर्थ है कि पोर्ट सुलभ है लेकिन सर्वर नहीं चल रहा है (और इस प्रकार कनेक्शन का प्रयास अस्वीकार कर दिया गया था)। "चुपके" का अर्थ है कि बंदरगाह दुर्गम था - यह ऐसा है जैसे कोई मशीन वहां स्थित नहीं थी (या जैसे कि बंदरगाह को आगे भेजा गया जहां कोई मशीन नहीं है)।
ठीक है, इसलिए आपने निर्धारित किया है कि यह वास्तव में इंटरनेट से सुलभ नहीं है। विवरण प्राप्त करने के लिए संभावित रूप से आप इसे (आदर्श रूप से WAN पक्ष से) स्कैन कर सकते हैं, हालांकि अक्सर यह सहायक जानकारी नहीं देगा।
यदि आप ऐसा करना चाहते हैं, तो WAN की तरफ, आप दौड़ सकते हैं:
sudo nmap -sS -sV -p57757 -vv WAN-IP
यदि पोर्ट को फ़िल्टर्ड के रूप में दिखाया गया है, तो इस बात की पुष्टि करता है कि वहाँ भेजे गए पैकेट संभवतः कहीं नहीं जा रहे हैं (या रास्ते में अवरुद्ध / गिराए गए हैं)।
यह देखने के लिए जाँचने योग्य है कि क्या समस्या पोर्ट से उत्पन्न हो रही है, जो सर्वर वास्तव में सुन रहा है, बंदरगाह से भिन्न होने के कारण। लैन मशीन पर WAN से पोर्ट 22 पर पोर्ट 55757 को फॉरवर्ड करने से चीजें ठीक होनी चाहिए, लेकिन शायद कहीं (सर्वर, क्लाइंट) कुछ मान रहा है कि पोर्ट नंबर सर्वर और क्लाइंट के नजरिए से समान है।
संभवतः आप राउटर के माध्यम से पोर्ट 22 को अग्रेषित नहीं कर सकते। शायद आपका ISP उस पोर्ट को ब्लॉक कर दे। लेकिन अगर आप ऐसा कर सकते हैं, तो करें!
अन्यथा, आप OpenSSH सर्वर को वास्तव में पोर्ट 57757 पर सुन सकते हैं ।
ऐसा करने के लिए, सर्वर कॉन्फ़िगरेशन फ़ाइल का बैकअप लें:
cd /etc/ssh
sudo cp sshd_config sshd_config.old
फिर इसे संपादित करें:
gksu gedit sshd_config
अगर मशीन में GUI नहीं है तो कंसोल टेक्स्ट एडिटर का उपयोग करें:
sudo nano -w sshd_config
फ़ाइल के शीर्ष के पास, पाठ का यह खंड दिखाई देता है:
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes
इसके बजाय Port 22
कहने के लिए, शीर्ष पर लाइन बदलें Port 57757
।
आप इसे बदलने के बजाय एक पोर्ट जोड़ सकते हैं । मैं सरलतम प्रभावी विन्यास के साथ परीक्षण की सलाह देता हूं, यद्यपि।
man sshd_config
OpenSSH सर्वर को कॉन्फ़िगर करने के बारे में अधिक जानकारी के लिए देखें ।
फाइल को सेव करें, टेक्स्ट एडिटर को छोड़ दें और SSH सर्वर को फिर से शुरू करें:
sudo restart ssh
अब राउटर पर आगे पोर्ट को बदलें ताकि ओपनएसएसएच सर्वर पर 57757 (22 नहीं) को पोर्ट करने के लिए 57757 आगे की ओर पोर्ट करें, और देखें कि क्या यह इंटरनेट से एक्सेस करने योग्य है।
यदि यह अभी भी काम नहीं कर रहा है, तो देखें कि क्या उबंटू का फ़ायरवॉल वास्तव में लैन के बाहर से आने वाले ट्रैफ़िक को रोक रहा है।
(यह संभावना नहीं है अगर आपने इसे इस तरह से कॉन्फ़िगर नहीं किया है, लेकिन यदि आपकी सभी सेटिंग्स सही हैं और उपरोक्त चरणों में से कोई भी समस्या के बारे में कुछ भी नहीं बताता है, तो यह जांचने योग्य है।)
Daud:
sudo iptables -L
डिफ़ॉल्ट रूप से, Ubuntu में, आउटपुट दिखता है:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
यह एक सरल अनुमेय नीति है, अनिवार्य रूप से एक फ़ायरवॉल नहीं चलने के बराबर है। (वास्तव में, अगर नेटफिल्टर फ़ायरवॉल मॉड्यूल आपके कर्नेल में संकलित नहीं किया गया था, तो आपका सिस्टम उसी तरह का व्यवहार करेगा जैसा कि उपरोक्त सेटिंग्स के साथ होता है, हालांकि iptables
कमांड, जो netfilter
सेटिंग्स को क्वेरी करता है, निश्चित रूप से काम नहीं करेगा।)
यदि आपका कॉन्फ़िगरेशन ऐसा नहीं दिखता है, तो man iptables
यह पता लगाने के लिए पढ़ें कि वे क्या कर रहे हैं, और / या अपने प्रश्न को संपादित करें (या, यदि आप इसे पढ़ने में एक समान समस्या वाले एक अलग व्यक्ति हैं, तो एक नया प्रश्न पोस्ट करें) उन्हें। कृपया ध्यान दें कि, संभवतः, आपके iptables
नियम आपके कॉन्फ़िगरेशन के बारे में संवेदनशील जानकारी का खुलासा कर सकते हैं। व्यावहारिक रूप से, यह आमतौर पर ऐसा नहीं है - विशिष्ट मेजबानों के बारे में नियमों के संभावित अपवाद के साथ जो अवरुद्ध हैं, या यदि आपका कॉन्फ़िगरेशन बहुत खराब / असुरक्षित है - आमतौर पर एक हमलावर के लिए इस जानकारी की उपयोगिता, विशेष रूप से एक मशीन के लिए NAT राउटर के पीछे एक घर / कार्यालय लैन , न्यूनतम है।