Tidak dapat ssh ke komputer lain, tetapi bisakah ping itu?


20

Tidak dapat ssh ke komputer lain tetapi dapat melakukan ping? Tidak yakin apa yang saya lewatkan?
Menggunakan router Netgear

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$ 

Jawaban:


17

Server tidak menjalankan sshd (dan karenanya tidak mendengarkan pada port 22) atau memiliki firewall memblokir port 22 (port ssh default), atau dalam kasus yang sangat jarang menjalankan ssh pada port lain (yang hampir pasti tidak demikian) .

Pertama periksa untuk memastikan sshd diinstal (menggunakan contoh debian)

sudo apt-get install openssh-server

Dan jika demikian, apakah ini berjalan:

ps -ef | grep sshd

kemudian periksa untuk melihat apakah ia mendengarkan port 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

kemudian periksa aturan firewall Anda (ini sangat bervariasi, jadi saya akan menunjukkan contoh 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)

Jika ufwmenunjukkannya sebagai ditutup kemudian jalankan (lagi contoh debian / ubuntu)

sudo ufw allow 22

1
FWIW, agak umum untuk memiliki mesin yang menghadap ke luar menjalankan SSH pada port yang berbeda untuk memitigasi permukaan serangan
sg

3

Agak aneh tembakan-dalam-gelap, tetapi pastikan IP Anda tidak berubah. Saya pernah mengalami masalah ini - saya menetapkan .bashrcalias alias sshdev='ssh me@123.2.3.4'sebagai cara khas saya untuk masuk, dan suatu hari saya mulai mendapatkan kesalahan berikut:

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

Kami baru saja mengalami pemadaman listrik di tempat kerja yang mengatur ulang IP, jadi saya berhasil melakukan ping IP tetapi itu bukan mesin yang benar. Anda dapat menggunakan nslookup <IP>untuk memastikan itu adalah nama mesin yang benar yang Anda coba sshmasuki.


1

Ketika Anda menerima pesan "koneksi ditolak", itu berarti bahwa daemon tidak mendengarkan pada port itu atau firewall menolak koneksi. Untuk mengatasi masalah ini, pastikan itu sshberjalan dan aturan firewall lokal tidak menolak koneksi masuk pada port itu.


1

Saya memiliki masalah yang sama dengan Linux Lite. Untuk memperbaiki masalah ini, saya harus mengakses Pengaturan> Konfigurasi Firewall. Setelah masuk ke root, saya mengubah pengaturan masuk ke Perbolehkan dan itu berhasil.


0

Dua pemikiran.

  1. Apakah firewall memungkinkan koneksi pada port 22 ke mesin?
  2. Apakah daemon ssh ( sshd) berjalan?

0

perintah ini bekerja untuk saya. Coba ini.

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

0

Langkah-langkah yang diikuti secara umum: 1) melakukan ping ke host tujuan dan memverifikasi serta mengecek alamat IP yang dimasukkan. 2) Periksa status layanan sudo sshd pada kedua host. Jika dihentikan, mulai layanan sshd. Jika Anda mendapatkan kesalahan sshd.service tidak ditemukan, instal openssh-server -> sudo apt install -y openssh-server dan restart sshd.service 3) Menonaktifkan firewall atau membuat perubahan pada file konfigurasi harus dianggap sebagai opsi terakhir.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.