दूसरे कंप्यूटर पर ssh करने में सक्षम नहीं है, लेकिन इसे पिंग कर सकते हैं?


20

दूसरे कंप्यूटर पर ssh करने में असमर्थ है, लेकिन इसे पिंग कर सकता है? निश्चित नहीं कि मैं क्या याद कर रहा हूँ?
नेटगियर राउटर का उपयोग करना

bash-3.2$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 ::1 prefixlen 128 
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
        inet 127.0.0.1 netmask 0xff000000 
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        ether xx:xx:xx:xx:xx:xx 
        media: autoselect (none)
        status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        ether xx:xx:xx:xx:xx:xx 
        inet6 xxxx::xxxx:xxxx:xxxx:xxxxxx prefixlen 64 scopeid 0x5 
        inet 10.0.0.3 netmask 0xffffff00 broadcast 10.0.0.255
        media: autoselect
        status: active
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 4078
        lladdr xx:xx:xx:xx:xx:xx:xx:xx 
        media: autoselect <full-duplex>
        status: inactive
bash-3.2$ ssh jeremy@10.0.0.4
ssh: connect to host 10.0.0.4 port 22: Connection refused
bash-3.2$ ssh -p 5900 jeremy@10.0.0.4
ssh: connect to host 10.0.0.4 port 5900: Connection refused
bash-3.2$ ping 10.0.0.3
PING 10.0.0.3 (10.0.0.3): 56 data bytes
64 bytes from 10.0.0.3: icmp_seq=0 ttl=64 time=0.046 ms
64 bytes from 10.0.0.3: icmp_seq=1 ttl=64 time=0.079 ms
64 bytes from 10.0.0.3: icmp_seq=2 ttl=64 time=0.078 ms
64 bytes from 10.0.0.3: icmp_seq=3 ttl=64 time=0.077 ms
64 bytes from 10.0.0.3: icmp_seq=4 ttl=64 time=0.079 ms
64 bytes from 10.0.0.3: icmp_seq=5 ttl=64 time=0.081 ms
64 bytes from 10.0.0.3: icmp_seq=6 ttl=64 time=0.078 ms
^C
--- 10.0.0.3 ping statistics ---
7 packets transmitted, 7 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.046/0.074/0.081/0.011 ms
bash-3.2$ ping 10.0.0.4
PING 10.0.0.4 (10.0.0.4): 56 data bytes
64 bytes from 10.0.0.4: icmp_seq=0 ttl=64 time=2.667 ms
64 bytes from 10.0.0.4: icmp_seq=1 ttl=64 time=2.675 ms
64 bytes from 10.0.0.4: icmp_seq=2 ttl=64 time=2.969 ms
64 bytes from 10.0.0.4: icmp_seq=3 ttl=64 time=2.663 ms
64 bytes from 10.0.0.4: icmp_seq=4 ttl=64 time=2.723 ms
^C
--- 10.0.0.4 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 2.663/2.739/2.969/0.117 ms
bash-3.2$ 

जवाबों:


17

सर्वर या तो sshd नहीं चल रहा है (और इसलिए पोर्ट 22 पर नहीं सुन रहा है) या उसके पास फ़ायरवॉल ब्लॉकिंग पोर्ट 22 (डिफ़ॉल्ट ssh पोर्ट) है, या अविश्वसनीय रूप से दुर्लभ मामलों में कुछ अन्य पोर्ट पर ssh चल रहा है (जो लगभग निश्चित रूप से ऐसा नहीं है) ।

पहले सुनिश्चित करें कि sshd स्थापित है (debian उदाहरणों का उपयोग करके)

sudo apt-get install openssh-server

और यदि हां, तो क्या यह चल रहा है:

ps -ef | grep sshd

फिर यह देखने के लिए जांचें कि क्या यह 22 पोर्ट को सुन रहा है

sudo netstat -nlp | grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      946/sshd
tcp6       0      0 :::22                   :::*                    LISTEN      946/sshd

फिर अपने फ़ायरवॉल नियमों की जाँच करें (यह काफी भिन्न होता है, इसलिए मैं एक डेबियन / ubuntu / etc उदाहरण दिखाऊंगा))

sudo ufw status

sudo ufw show listening
tcp:
  22 * (sshd)
  24224 * (ruby)
tcp6:
  22 * (sshd)
  8080 * (java)
udp:
  123 10.X.Y.Z (ntpd)
  123 * (ntpd)
  18649 * (dhclient)
  24224 * (ruby)
  34131 * (ruby)
  60001 10.87.43.24 (mosh-server)
  68 * (dhclient)
udp6:
  123 fe80::1031:AAAA:BBBB:CCCC (ntpd)
  123 * (ntpd)
  48573 * (dhclient)

यदि ufwइसे बंद दिखाया गया है तो चलाएं (फिर से एक डेबियन / ubuntu उदाहरण)

sudo ufw allow 22

1
Fwiw, यह बाह्य-फेसिंग मशीनों के लिए, कम हमले सतह एक अलग बंदरगाह पर SSH चलाने के लिए कुछ हद तक आम है
sg

3

एक अजीब शॉट-इन-द-डार्क में, लेकिन सुनिश्चित करें कि आपका आईपी नहीं बदला। मेरे पास एक बार यह समस्या थी - मैंने लॉग इन करने के अपने विशिष्ट तरीके के रूप में एक .bashrcउपनाम सेट alias sshdev='ssh me@123.2.3.4'किया, और एक दिन मुझे निम्न त्रुटि मिलने लगी:

ME-M-216C:~ me$ sshdev 
ssh: connect to host 123.2.3.4 port 22: Connection refused

हमारे पास काम पर एक पावर आउटेज था जो आईपी को रीसेट करता है, इसलिए मैं सफलतापूर्वक आईपी को पिंग कर रहा था लेकिन यह सही मशीन नहीं थी। आप nslookup <IP>यह सुनिश्चित करने के लिए उपयोग कर सकते हैं कि यह सही मशीन का नाम है जिसे आप करने की कोशिश कर रहे हैं ssh


1

जब आपको संदेश "कनेक्शन अस्वीकृत" मिलता है, तो इसका मतलब है कि एक डेमॉन उस पोर्ट पर नहीं सुन रहा है या एक फ़ायरवॉल कनेक्शन को अस्वीकार कर रहा है। समस्या को हल करने के लिए, सुनिश्चित करें कि sshचल रहा है और स्थानीय फ़ायरवॉल नियम उस पोर्ट पर आने वाले कनेक्शन को अस्वीकार नहीं कर रहे हैं।


1

मैं लिनक्स लाइट के साथ एक ही मुद्दा था। समस्या को ठीक करने के लिए, मुझे सेटिंग्स> फ़ायरवॉल कॉन्फ़िगरेशन का उपयोग करना पड़ा। रूट में साइन इन करने के बाद, मैंने इनकमिंग सेटिंग को Allow में बदल दिया और इसने काम किया।


0

दो विचार।

  1. क्या फ़ायरवॉल पोर्ट 22 पर मशीन से कनेक्शन की अनुमति देता है?
  2. Ssh डेमन ( sshd) चल रहा है?


0

सामान्य रूप से अनुसरण किए जाने वाले चरण: 1) गंतव्य होस्ट के लिए पिंग करें और दर्ज किए गए आईपी पते को सत्यापित और क्रॉस करें। 2) दोनों मेजबानों पर sudo सेवा sshd स्थिति की जाँच करें। यदि रोका गया है, तो sshd सेवा प्रारंभ करें। अगर आपको कोई त्रुटि sshd.service नहीं मिली है, तो Opensh-server स्थापित करें -> sudo apt install -y opensh-server और पुनः आरंभ करें sshd.service 3) फ़ायरवॉल को अक्षम करना या कॉन्फ़िगरेशन फ़ाइलों में परिवर्तन करना अंतिम विकल्प माना जाना चाहिए।

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