ssh कनेक्शन ने इनकार कर दिया: समस्या निवारण कैसे करें?


17

मैं कोशिश कर रहा हूँ:

$ ssh eric@myserver

जहां myserverइंट्रानेट में एक मशीन है। मैं myserverपोर्ट 8080 पर HTTP से पिंग या प्रतिक्रिया दे सकता हूं , आदि, लेकिन जब मैं कोशिश करता sshहूं, मुझे मिलता है

ssh: connect to host myserver port 22: Connection refused

मैं Ubuntu 10 का उपयोग कर रहा हूं।

ps -ax, जैसा कि सुझाव दिया गया है:

eric@Isaiah:~$ ps -ax | grep ssh
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
 1641 ?        Ss     0:04 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session gnome-session
18376 pts/3    S+     0:00 grep --color=auto ssh

जवाबों:


15

आपके पास SSH डेमॉन नहीं है। यदि आप ps axकमांड से आउटपुट को देखते हैं, तो आप देखते हैं कि विवरण में 'ssh' के साथ केवल दो प्रक्रियाएं हैं ssh-agent(जो कि पूरी तरह से कुछ अलग करती हैं sshd) और उस grep sshप्रक्रिया को जो आप आउटपुट को फ़िल्टर करने के लिए उपयोग कर रहे हैं ps

क्या वितरण स्थापित किया गया है, इसके आधार पर, आपको sshसर्वर को स्थापित करने या चलाने की आवश्यकता हो सकती है, जिसे आमतौर पर कहा जाता है openssh-serverया sshdआपके पैकेज प्रबंधक पर निर्भर करता है।


13

उपरोक्त समस्या को डीबग करने के लिए चरण:

  1. nmapउस सर्वर में कौन से पोर्ट खुले हैं, यह जानने के लिए टूल का उपयोग करें । nmapएक पोर्ट स्कैनर है। चूंकि यह संभव हो सकता है कि ssh सर्वर एक अलग पोर्ट पर चल रहा हो। nmapआपको उन बंदरगाहों की सूची देगा जो खुले हैं।

     $ nmap myserver
    

२। अब आप जांच सकते हैं कि किसी दिए गए पोर्ट पर कौन सा सर्वर चल रहा है। मान लें कि नैम्प के आउटपुट में, पोर्ट 2424 खुला है। अब आप nc (netcat) टूल का उपयोग करके 2424 पर कौन सा सर्वर चला रहे हैं।

 $ nc -v -nn myserver portno

मान लीजिए कि 2424 पोर्ट का आउटपुट है:

myserver 2424 open
SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu5

इसका मतलब है कि ssh 2424 पर चल रहा है।

पोर्टो को उपरोक्त कमांड में बदलते रहें और उन सभी पोर्ट की जांच करें, जो नैम्प द्वारा खुले हैं।


3

इसका मतलब है कि या तो ssh सर्वर उस मशीन पर नहीं चल रहा है या फ़ायरवॉल ssh को अनुमति नहीं दे रहा है। आप जांच कर सकते हैं कि ssh 'ps -ax | grep ssh '।


संपादित प्रश्न के परिणाम दिखाने के ps -ax। निश्चित नहीं कि इसका क्या मतलब है।
एरिक विल्सन

1
इसका मतलब sshयह नहीं चल रहा है।
डेविड श्वार्ट्ज

1
अजीब। मुझे यकीन नहीं है कि आपने अब दो बार मदद की पेशकश की है जो वास्तव में मददगार नहीं है। सबसे पहले आप एक कमांड का उपयोग करके यह जांचने के लिए उपयोगी है कि ssh चल रहा है, बिना मुझे बताए कि परिणामों की व्याख्या कैसे करें। फिर आप उन परिणामों की न्यूनतम व्याख्या प्रदान करते हैं, बिना किसी संकेत के कि आप उस व्याख्या पर कैसे पहुंचे, या क्या कार्रवाई उचित हो सकती है। मुझे यकीन नहीं है कि क्या आप मेरी मदद करने की कोशिश कर रहे हैं, और मेरे अनुभव के स्तर को गलत बता रहे हैं, या यदि आप मेरी अज्ञानता को उजागर करने की कोशिश कर रहे हैं।
एरिक विल्सन

3
प्रक्रियाओं की सूची में एक sshdप्रक्रिया शामिल नहीं है, जिसका अर्थ sshdहै कि चल नहीं रहा है। समाधान शुरू करना है sshd
डेविड श्वार्ट्ज

1

पिछले दो विकल्प अच्छे हैं। आप -vया -vvतर्कों का उपयोग भी कर सकते हैं ।

$ ssh -vv eric@myserver

0

मुझे इस मुद्दे का भी सामना करना पड़ा, लेकिन एक वर्चुअलबॉक्स वातावरण में, इसलिए इसे हल करने के लिए हमें आईपी पते को उसी लैन सेगमेंट में सेट करने की आवश्यकता है; उदाहरण के लिए:

मेरे मेजबान मशीन पर, मैं खोलता हूं cmdऔर टाइप करता हूं ipconfig। मुझे 100.2.2.1 (उदाहरण के लिए) मिलता है।

इसलिए वर्चुअल मशीन में हमें VM का पता /etc/hosts100.2.2.3 जैसे मान पर सेट करना होगा , अंतिम संख्या पर एक नज़र रखना होगा और वर्चुअल मशीन को उछालना होगा, लेकिन वर्चुअल मशीन शुरू करने से पहले वर्चुअल की सेटिंग में नेटवर्क को कॉन्फ़िगर करें मशीन, इसलिए हमें पुल कनेक्शन में नेटवर्क एडेप्टर सेट करने की आवश्यकता है।

यह सब एक सोलारिस वातावरण में है।

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