यह कनेक्शन अस्वीकृत के बारे में एक कैनोनिकल प्रश्न है
हम प्रभाव के लिए बहुत सारे प्रश्न देखते हैं
जब मैं एक सिस्टम से जुड़ने की कोशिश करता हूं तो मुझे एक संदेश मिलता है
कनेक्शन नहीं हो सका
ऐसा क्यों है ?
यह कनेक्शन अस्वीकृत के बारे में एक कैनोनिकल प्रश्न है
हम प्रभाव के लिए बहुत सारे प्रश्न देखते हैं
जब मैं एक सिस्टम से जुड़ने की कोशिश करता हूं तो मुझे एक संदेश मिलता है
कनेक्शन नहीं हो सका
ऐसा क्यों है ?
जवाबों:
नोट : यह संदेश उस समस्या का एक लक्षण है जिसे आप हल करने का प्रयास कर रहे हैं। संदेश के कारण को समझना अंततः आपको अपनी समस्या को हल करने के लिए प्रेरित करेगा।
संदेश 'कनेक्शन अस्वीकृत' के दो मुख्य कारण हैं:
कोई प्रक्रिया नहीं सुन रहा है।
यह अब तक संदेश के लिए सबसे आम कारण है। पहले यह सुनिश्चित करें कि आप सही प्रणाली से जुड़ने की कोशिश कर रहे हैं। यदि आप यह निर्धारित करने के लिए हैं कि क्या यह समस्या है, तो दूरस्थ सिस्टम पर netstat या ss 1 उदा। यदि आप पोर्ट 22222 पर सुनने की प्रक्रिया की अपेक्षा कर रहे हैं
sudo netstat -tnlp | grep :22222
या
ss -tnlp | grep :22222
OSX के लिए एक उपयुक्त कमांड है
sudo netstat -tnlp tcp | grep '\.80 '
अगर कुछ भी नहीं सुन रहा है तो ऊपर कोई आउटपुट नहीं देगा। यदि आप कुछ आउटपुट देखते हैं, तो पुष्टि करें कि यह वही है जो आप उम्मीद करते हैं तो नीचे फ़ायरवॉल अनुभाग देखें।
यदि आपके पास दूरस्थ सिस्टम तक पहुंच नहीं है और आप संबंधित व्यवस्थापकों को रिपोर्ट करने से पहले समस्या की पुष्टि करना चाहते हैं तो आप tcpdump (वायरशार्क या समान) का उपयोग कर सकते हैं।
जब एक कनेक्शन को आईपी: पोर्ट के लिए प्रयास किया जाता है, जहां कुछ भी नहीं सुन रहा है, तो रिमोट सिस्टम से प्रारंभिक SYN पैकेट पर प्रतिक्रिया झंडे RST, ACK सेट के साथ एक पैकेट है। यह कनेक्शन बंद कर देता है और कनेक्शन अस्वीकृत संदेश उदा
$ sudo tcpdump -n host 192.0.2.1 और पोर्ट 22222
tcpdump: verbose आउटपुट को दबाया गया,
env14s0, लिंक-टाइप EN10MB (ईथरनेट) पर सुनने वाले फुल प्रोटोकॉल डिकोड के लिए -v या -vv , कैप्चर साइज 262144 बाइट्स
12: 31: 27.013976 IP 192.0.2.2.3.39090> 192.0.2.1.22222: झंडे [S] , 1207858804 seq, 29200 जीतें, विकल्प [mss 1460, sackOK, TS val 15306344 ecr 0, nop, wscale 7], लंबाई 0
12: 31: 27.020162 IP 192.0.2.1.22222> 192.0.2.2.34390: झंडे [आर।] , Seq 0, ack 1207858805, जीत 0, लंबाई 0
ध्यान दें कि tcpdump एक का उपयोग करता है । ACK ध्वज का प्रतिनिधित्व करने के लिए ।
पोर्ट एक फ़ायरवॉल द्वारा अवरुद्ध है
यदि पोर्ट को फ़ायरवॉल द्वारा ब्लॉक किया गया है और इसके साथ प्रतिक्रिया करने के लिए फ़ायरवॉल को कॉन्फ़िगर किया गया है, तो icmp-port-unreachable
यह कनेक्शन अस्वीकृत संदेश का भी कारण होगा। फिर से आप इसे tcpdump (या समान) के साथ देख सकते हैं
$ sudo tcpdump -n icmp
tcpdump: वर्बोज़ आउटपुट को दबाया गया,
env14s0, लिंक-टाइप EN10MB (ईथरनेट) पर सुनने वाले फुल प्रोटोकॉल डिकोड के लिए -v या -vv , कैप्चर 262144 बाइट्स 13: 03: 24.149897 IP 192.0.2.1> 192.0। 2.2: ICMP 192.0.2.1 tcp पोर्ट 22222 अगम्य, लंबाई 68
ध्यान दें कि यह हमें यह भी बताता है कि अवरुद्ध फ़ायरवॉल कहाँ है।
तो अब आप जानते हैं कि कनेक्शन के कारण क्या संदेश मना कर दिया गया है, आपको उचित कार्रवाई करनी चाहिए जैसे कि फ़ायरवॉल व्यवस्थापक से संपर्क करें या प्रक्रिया नहीं सुनने के कारण की जांच करें।
1 अन्य उपकरण उपलब्ध होने की संभावना है।
मेरे लिए डेबियन 6 निचोड़ पर यह SSH सेवा की जाँच के रूप में सरल था :
sudo service ssh status
और कुछ भी मौजूद नहीं है (संदेश के साथ ssh: unrecognized service
) बस सेवा को स्थापित करना :
sudo apt-get install openssh-server
यह तब भी काम करता है जब आपको SFTP कनेक्शन नहीं मिल रहा है, क्योंकि SFTP SSH का सबसेट है (जबकि FTPS FTP का सबसेट है)।