Başka bir bilgisayara ssh yapamıyor, ancak ping yapabilir mi?


20

Başka bir bilgisayara ssh yapılamıyor ancak ping atabiliyor mu? Neyi özlediğimden emin değil misiniz?
Netgear yönlendirici kullanma

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$ 

Yanıtlar:


17

Sunucu sshd çalıştırmıyor (ve bu nedenle 22 numaralı bağlantı noktasını dinlemiyor) veya bir güvenlik duvarı engelleme bağlantı noktası 22'ye (varsayılan ssh bağlantı noktası) veya başka bir bağlantı noktasında ssh çalıştıran inanılmaz derecede nadir durumlarda (neredeyse kesinlikle böyle değil) .

Önce sshd'nin kurulu olduğundan emin olun (debian örnekleri kullanarak)

sudo apt-get install openssh-server

Ve eğer öyleyse, çalışıyor mu:

ps -ef | grep sshd

daha sonra port 22'yi dinleyip dinlemediğini kontrol edin

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

sonra güvenlik duvarı kurallarınızı kontrol edin (bu önemli ölçüde değişir, bu yüzden bir debian / ubuntu / etc örneğini göstereceğim):

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)

Eğer ufwgösterir o kadar daha sonra çalıştırmak kapalı (yine debian / ubuntu örnek)

sudo ufw allow 22

1
FWIW, saldırı yüzeyini azaltmak için harici bakan makinelerin SSH'yi farklı bir bağlantı noktasında çalıştırması biraz yaygın
sg

3

Biraz garip bir karanlıkta vuruldu, ancak IP'nizin değişmediğinden emin olun. Bu sorunu bir kez yaşadım - bir .bashrctakma adı alias sshdev='ssh me@123.2.3.4', tipik giriş yöntemim olarak ayarladım ve bir gün aşağıdaki hatayı almaya başladım:

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

IP'leri sıfırlayan bir elektrik kesintisi yaşadık, bu yüzden başarıyla bir IP'ye ping atıyordum ama doğru makine değildi. nslookup <IP>Girmeye çalıştığınız doğru makine adı olduğundan emin olmak için kullanabilirsiniz ssh.


1

"Bağlantı reddedildi" iletisini aldığınızda, bu daemon'un bu bağlantı noktasını dinlemediği veya bir güvenlik duvarının bağlantıyı reddettiği anlamına gelir. Sorunu çözmek için ssh, çalıştığından ve yerel güvenlik duvarı kurallarının bu bağlantı noktasındaki gelen bağlantıları reddetmediğinden emin olun.


1

Linux Lite ile de aynı sorunu yaşadım. Sorunu çözmek için Ayarlar> Güvenlik Duvarı Yapılandırması'na erişmek zorunda kaldım. Kökte oturum açtıktan sonra, gelen ayarı İzin Ver olarak değiştirdim ve işe yaradı.


0

İki düşünce.

  1. Güvenlik duvarı, 22 numaralı bağlantı noktasındaki makineye bağlantılara izin veriyor mu?
  2. Ssh daemon ( sshd) çalışıyor mu?

0

bu komut benim için çalıştı. Bunu dene.

update-rc.d -f ssh enable 2 3 4 5

0

Genel olarak izlenen adımlar: 1) hedef ana bilgisayara ping atın ve girilen IP adresini doğrulayın ve çapraz kontrol edin. 2) Her iki ana bilgisayarda sudo service sshd durumunu kontrol edin. Durduysa, sshd hizmetini başlatın. Sshd.service bulunamadığı hatası alırsanız, openssh-server -> sudo apt install -y openssh-server'ı yeniden kurun ve sshd.service'i yeniden başlatın 3) Güvenlik duvarını devre dışı bırakmak veya yapılandırma dosyalarında değişiklik yapmak son seçenek olarak düşünülmelidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.