मुझे "पोर्ट 22: कनेक्शन अस्वीकृत" त्रुटि क्यों हो रही है?


70

मुझे ए हो रही है

port 22: Connection refused 

सर्वर से कनेक्ट करते समय त्रुटि।

मेरे पास ओपनश क्लाइंट और सर्वर दोनों हैं, और वे चल रहे हैं। लेकिन फिर भी एक त्रुटि है। कृपया मदद कीजिए।


2
बस स्पष्ट करने के लिए, सर्वर पर ओपनश सर्वर स्थापित किया गया है?
केविन

चेक ssh पोर्ट 22 पर चल रहा है और यदि आपके पास पोर्ट को अवरुद्ध करने वाला फ़ायरवॉल नियम है।
मनुला वैद्यनाथ

1
मेरे अनुसार, फ़ायरवॉल को कॉन्फ़िगर करें जैसे कि वह ssh (पोर्ट 22) को अनुमति देता है जो वर्तमान में फ़ायरवॉल द्वारा अवरुद्ध है।
केतन पटेल


यह संभवत: अस्थायी नेटवर्क हानि के कारण भी हो सकता है। इसलिए अपना इंटरनेट कनेक्शन जांचें।
user648610

जवाबों:


78

मैं इस मुद्दे से गुज़रा और अंत में उचित जवाब मिला।

sudo apt-get update
sudo apt-get install openssh-server
sudo ufw allow 22

फिर raspi-configएक टर्मिनल विंडो में चला गया और ssh को सक्षम किया।

यह पोर्ट 22 को sshd के लिए उपयोग करने की अनुमति देगा।


यहाँ @SDsolar के रूप में एक ही समस्या
बी

@ नादिव, मुझे ssh को सक्षम करने के लिए raspi-config का उपयोग करना पड़ा। इसे दर्शाने के लिए उत्तर को संपादित किया गया है।
एसडीसोलर

दोनों कंप्यूटरों पर पहली तीन पंक्तियों का प्रदर्शन किया और फ़ाइल अब सफलतापूर्वक स्थानांतरित हो गई है। उबंटू डिफ़ॉल्ट रूप से इन स्थापित / सक्षम के साथ क्यों नहीं आता है? connection refusedत्रुटि तो गुप्त, मुझे नहीं पता था अगर वह एक फ़ायरवॉल मुद्दों, उपयोगकर्ता नाम मुद्दा, आईपी पते मुद्दा, आदि आदि बहुत निराशा होती थी।
हेटफेंड

sudo ufw allow 22एक बार काम किया। फिर से त्रुटि दिखाई देने लगी।
सिरेश

32

सर्वर पर रहते हुए, यह सुनिश्चित करने के लिए जांच करें कि वास्तव में sshd चल रहा है, और पोर्ट 22 पर सुन रहा है:

$ sudo netstat -anp | grep sshd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1538/sshd       
tcp6       0      0 :::22                   :::*                    LISTEN      1538/sshd       

यदि आपको परिणाम नहीं मिलते हैं, या वे नहीं दिखाते हैं कि आप tcp 0.0.0.0:22 पर सुन रहे हैं ... इसे ठीक करें।

यदि आप यह दर्शाते हैं कि sshd चल रहा है और tcp port 22 पर सुन रहा है, तो यह सुनिश्चित करने के लिए जांचें कि रास्ते में कोई फ़ायरवॉल नियम नहीं है। फिर से, सर्वर पर:

$ sudo iptables -L | grep ssh
DROP       tcp  --  anywhere             anywhere            tcp dpt:ssh 

या वैकल्पिक रूप से,

$ sudo ufw verbose
Status: active

To                         Action      From
--                         ------      ----
22                         DENY        Anywhere
22/tcp                     DENY        Anywhere

यदि आप ऊपर के किसी एक नियम को देखते हैं, तो आपको उसे ठीक करना होगा।

यदि आपको रास्ते में कोई फ़ायरवॉल नियम दिखाई नहीं देता है और आप सर्वर पर चलने वाली सेवा को देखते हैं, तो यह आपके कार्य केंद्र और उस नेटवर्क से जुड़ा हुआ है, जिसकी जाँच करने का समय आ गया है। क्या आप अन्य सर्वर से जुड़ सकते हैं? क्या आप अपना स्वयं का इंटरफ़ेस या लूपबैक पता कर सकते हैं? आदि।


1
और यदि आप अन्य सर्वर से कनेक्ट कर सकते हैं?
opensourcechris

2
हे उत्तर के लिए धन्यवाद, मेरा बंदरगाह 22 नहीं है, इसका 2222 है। आपने कहा, इसे ठीक करें, लेकिन कैसे?
योगेश दारजी

मेरा कोई परिणाम नहीं दिया।
एसडीसोलर

इसे ठीक करें: sudo ufw allow 22(या जो भी आपका पोर्ट है)
जॉन डी

netstat को हटा दिया गया है (और उबंटू के नए संस्करणों पर डिफ़ॉल्ट रूप से स्थापित नहीं किया गया है - कमांड 'netstat' नहीं मिला, लेकिन इसके साथ स्थापित किया जा सकता है ... )। शायद iproute2 के लिए अपडेट करें ?
पीटर मोर्टेंसन

14

इसे इस्तेमाल करे

sudo apt-get remove openssh-client openssh-server

और फिर

sudo apt-get install openssh-client openssh-server

यह मेरे लिए काम :)

शायद सबसे रूढ़िवादी समाधान नहीं ... :)


3
Dpkg-reconfigure का उपयोग करना अनइंस्टॉल / रीइंस्टॉल सॉल्यूशन के बदले में उपयोग करना आसान होगा
स्टीफन माइकल केलेट

1
मुझे इसे प्राप्त करने के लिए apt-get purge ओपनश-सर्वर (हटाने के बजाय) का उपयोग करना पड़ा।
१११०११०१ बी १४'१६

6

रास्पबियन स्थापित करने के बाद एक ही समस्या का सामना करना पड़ा। समाधान जो मेरे लिए काम करता है:

sudo apt-get purge openssh-server
sudo apt-get install openssh-server

यदि यह काम करता है तो आपने पहले अपना sshd-config बदला होगा।
guntbert

मैंने sshd_config को Raspbian पर संपादित किया, जबकि ssh को सेटअप करने का प्रयास किया। इस समाधान ने मेरे लिए काम किया।
स्कॉट

+1। केवल समाधान है कि काम किया!
नदव बी

1

निम्नलिखित आदेश मेरे लिए काम करते हैं:

cd /root/.ssh
vi known_hosts

अब उस फ़ाइल में सब कुछ हटा दें और टर्मिनल पर प्रवेश करें:

service sshd restart

स्रोत: SSH - कनेक्शन से इनकार


मेरे लिए भी ऐसी ही समस्या है, लेकिन मैंने ssh-keygen -f "/home/MYUSER/.ssh/known_hosts" -R MYHOSTअपने linux उपयोगकर्ता और दूरस्थ होस्ट को जोड़ने के लिए अपने ज्ञात_होस्ट को मेरे साथ क्लीयर किया , जिससे मैं कनेक्ट करने की कोशिश कर रहा था
क्रिस

1

यह आपके लिए भी इसे ठीक कर सकता है। अपने आउटगोइंग आईपी पते से उसी पोर्ट पर अपने स्थानीय आईपी से कनेक्शन 22 अग्रेषण पोर्ट की कोशिश करें। मेरे लिए काम किया जो मुझे दूरस्थ ubuntu कंप्यूटर में ssh करने की अनुमति देता है।


0

मेरे मामले में स्थिर आईपी गलत था। ping <my_ip>सर्वर के स्विच करने के बाद पता चला । सर्वर बंद होने पर भी यह पिंग कर रहा था। आईपी ​​बदलने से समस्या हल हो गई।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.