Nicht in der Lage, auf einen anderen Computer zu sshen, aber kann es pingen?

20

Kann nicht auf einen anderen Computer ssh aber kann es pingen? Nicht sicher, was ich vermisse?
Verwenden eines Netgear-Routers

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 [email protected]
ssh: connect to host 10.0.0.4 port 22: Connection refused
bash-3.2$ ssh -p 5900 [email protected]
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$ 
jdl
quelle

Antworten:

17

Auf dem Server wird entweder nicht sshd ausgeführt (und wartet daher nicht auf Port 22), oder die Firewall blockiert Port 22 (der Standard-ssh-Port). In äußerst seltenen Fällen wird ssh auf einem anderen Port ausgeführt (was mit ziemlicher Sicherheit nicht der Fall ist). .

Überprüfen Sie zuerst, ob sshd installiert ist (anhand von Debian-Beispielen)

sudo apt-get install openssh-server

Und wenn ja, läuft es:

ps -ef | grep sshd

Überprüfen Sie dann, ob Port 22 abgehört wird

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

Überprüfen Sie dann Ihre Firewall-Regeln (dies variiert erheblich, daher zeige ich ein Beispiel für debian / 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)

Wenn ufwes als geschlossen angezeigt wird, dann starte es (wieder ein Debian / Ubuntu-Beispiel)

sudo ufw allow 22
Arthur Ulfeldt
quelle
1
FWIW, es ist nicht ungewöhnlich, dass externe Computer SSH an einem anderen Port ausführen, um die Angriffsfläche zu entschärfen
sg
3

Ein bisschen seltsam bei Dunkelheit, aber stellen Sie sicher, dass sich Ihre IP nicht geändert hat. Ich hatte dieses Problem einmal - ich habe einen .bashrcAlias alias sshdev='ssh [email protected]'als meine typische Art der Anmeldung festgelegt und eines Tages bekam ich den folgenden Fehler:

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

Wir hatten gerade einen Stromausfall bei der Arbeit, der die IPs zurücksetzte, also habe ich erfolgreich eine IP gepingt, aber es war nicht der richtige Computer. Sie können nslookup <IP>damit sicherstellen, dass es sich um den richtigen Computernamen handelt, auf den Sie zugreifen möchten ssh.

sg
quelle
1

Wenn die Meldung "Verbindung abgelehnt" angezeigt wird, bedeutet dies, dass ein Dämon diesen Port nicht überwacht oder eine Firewall die Verbindung ablehnt. Um das Problem zu beheben, stellen Sie sicher, dass ausgeführt sshwird und die lokalen Firewall-Regeln eingehende Verbindungen an diesem Port nicht ablehnen.

Jordanien
quelle
1

Ich hatte das gleiche Problem mit Linux Lite. Um das Problem zu beheben, musste ich auf Einstellungen> Firewall-Konfiguration zugreifen. Nachdem ich mich bei root angemeldet hatte, änderte ich die Einstellung für eingehende Nachrichten in Zulassen und es funktionierte.

koziez
quelle
0

Zwei Gedanken.

  1. Ermöglicht die Firewall Verbindungen über Port 22 zum Computer?
  2. Läuft der ssh-Daemon ( sshd)?
kronenpj
quelle
0

Dieser Befehl hat bei mir funktioniert. Versuche dies.

update-rc.d -f ssh enable 2 3 4 5
Jacob Abraham
quelle
0

Im Allgemeinen werden folgende Schritte ausgeführt: 1) Senden Sie einen Ping-Befehl an den Zielhost, und überprüfen Sie die eingegebene IP-Adresse. 2) Überprüfen Sie den sudo service sshd-Status auf beiden Hosts. Wenn gestoppt, starten Sie den sshd-Dienst. Wenn der Fehler sshd.service nicht gefunden wird, installieren Sie openssh-server -> sudo apt install -y openssh-server und starten Sie den sshd.service neu. 3) Deaktivieren Sie die Firewall oder nehmen Sie Änderungen an den Konfigurationsdateien vor.

Bharat247
quelle