Pertanyaan SSH Connection Error: Tidak ada rute untuk dihosting


Ada tiga mesin dalam skenario ini:

  • Desktop A: user@1.23.x.x
  • Laptop A: pengguna@1.23.y.y
  • Mesin B: pengguna@192.168.z.z

Semua mesin memiliki Ubuntu 11.04 (Desktop A adalah 64bit satu) dan memiliki kedua openssh-server dan openssh-client.

Sekarang ketika saya mencoba untuk menghubungkan Desktop A ke Laptop A atau sebaliknya oleh ssh user@1.23.y.y Saya mendapatkan kesalahan sebagai

port 22: No route to host

dalam kedua kasus.

Saya memiliki kedua mesin tersebut, sekarang jika saya mencoba perintah yang sama dari mesin teman saya, yaitu melalui Desktop B, saya dapat mengakses Laptop dan Desktop saya. Tetapi jika saya mencoba mengakses Desktop B dari Laptop saya atau dengan Desktop saya dapatkan

port 22: Connection timed out

Saya bahkan mencoba mengganti ssh port no. di ssh_config file tetapi tidak berhasil.

Catatan: bahwa 'Laptop A' menggunakan koneksi WiFi sementara 'Mesin A' menggunakan Koneksi Ethernet dan 'Mesin B' berada di jaringan yang sepenuhnya berbeda.

@Lekensteyn Ini dia ->

Laptop A && Desktop A -> Router / Nano_Rcvr disediakan untuk saya oleh ISP. Jadi untuk satu Router dua Mesin terhubung dan dapat diakses pada saat yang sama. di sini adalah output ifconfig saya untuk kedua mesin: - Laptop 

wlan0

      Link encap:Ethernet  HWaddr X:X:X:X:00:bc  
      inet addr:1.23.73.111  Bcast:1.23.95.255  Mask:255.255.224.0
      inet6 addr: fe80::219:e3ff:fe04:bc/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:108409 errors:0 dropped:0 overruns:0 frame:0
      TX packets:82523 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:44974080 (44.9 MB)  TX bytes:22973031 (22.9 MB)

Desktop

eth0

      Link encap:Ethernet  HWaddr X:X:X:X:c5:78  
      inet addr:1.23.68.209  Bcast:1.23.95.255  Mask:255.255.224.0
      inet6 addr: fe80::227:eff:fe04:c578/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:10380 errors:0 dropped:0 overruns:0 frame:0
      TX packets:4509 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:1790366 (1.7 MB)  TX bytes:852877 (852.8 KB)
      Interrupt:43 Base address:0x2000 

Output dari  ip route show

      1.23.64.0/19 dev wlan0  proto kernel  scope link  src 1.23.73.111  metric 2 

      169.254.0.0/16 dev wlan0  scope link  metric 1000 

Output dari  traceroute -n 1.23.73.111

       traceroute to 1.23.73.111 (1.23.73.111), 30 hops max, 60 byte packets
       1  1.23.68.209  3008.787 ms !H  3008.786 ms !H  3008.784 ms !H

31
2017-07-21 09:28


asal


Harap perbaiki alamat IP tersebut. Apakah 1.23.x.x alamat IP publik? Jika tidak, silakan gunakan 10.x.x.x, 192.168.x.x atau 172.16.x.x. Bisakah Anda melakukan ping ke mesin lain? ping 192.168.x.x - Lekensteyn
Kedengarannya aneh tapi itu IP publik Addr jika Anda ingin saya dapat memberikan Anda 'ifconfig' output. Tidak, aku tidak bisa Ping kedua mesin saya itu mengatakan 'Host Tujuan Unrechable' Meskipun saya bisa ping mesin teman saya - Nihar Sawant
Bisakah Anda menggambar pengaturan jaringan Anda? Seni ASCII akan baik-baik saja. Anda perlu memasukkan mesin, "internet" dan melibatkan router / modem rumah. - Lekensteyn
Saya setuju dengan @Lekensteyn. Masalah-masalah ini paling sering masalah NAT / forwarding. Jelaskan struktur jaringan Anda dan kami mungkin bisa membantu. - Oli♦
@Lekensteyn lihat Postingan saya yang diperbarui - Nihar Sawant


Jawaban:


Rute terlihat baik-baik saja. Saya berasumsi bahwa alamat IP itu adalah alamat pribadi (LAN) dan tidak dapat diakses publik.

Karena Anda terhubung dengan berbagai cara ke jaringan (wifi / wired), kemungkinan besar router Anda memiliki jaringan kabel / nirkabel yang terpisah. Coba hubungkan keduanya pada koneksi berkabel (atau nirkabel). Kemungkinan lain adalah bahwa firewall pada mesin Ubuntu memblokir koneksi.

Jika tidak, konfigurasikan router Anda untuk menggunakan jaringan yang sama (subnet) untuk koneksi nirkabel dan kabel. Juga pastikan router tidak memblokir komunikasi klien-ke-klien.

Router Anda mungkin menjatuhkan semua paket yang tidak diminta, itu sebabnya teman Anda mendapat pesan "koneksi habis waktu" di alamat IP publik Anda. Konfigurasikan penerusan port NAT sehingga alamat IP publik + port kombinasi ke depan ke alamat LAN Anda.

Jaringan contoh:

YOUR NETWORK (A)
    Router A (public address: 198.51.100.1)
    Desktop A - 10.0.0.2
    Laptop  A - 10.0.0.3

YOUR FRIENDS NETWORK (B)
    Router B (public address: 203.0.113.1)
    Machine B - 192.168.0.2

Di Router A, atur penerusan NAT:

To make your desktop accessible:
  forward the public port 22 to 10.0.0.2
To make your laptop accessible:
  forward the public port 2222 to 10.0.0.3

Jika Anda memiliki firewall (ufw, iptables, ...) pada set mesin, memungkinkan lalu lintas masuk ke port 22 (Desktop A) dan port 2222 (Laptop A).

Desktop sekarang dapat diakses menggunakan SSH dengan:

ssh user@198.51.100.1 -p 22

Laptop sekarang dapat diakses menggunakan SSH dengan:

ssh user@198.51.100.1 -p 2222

Jika Anda ingin mengakses mesin teman Anda, terapkan instruksi ini ke router + mesinnya.


17
2017-07-22 07:05





saya memiliki masalah serupa. Satu mesin di kawat satu nirkabel. Saya menemukan sebuah kotak centang di router saya selain "memisahkan ips untuk lan dan wlan" dan mencoretnya. Sekarang saya dapat login ke komputer wireles. Sebelum itu saya mendapat pesan kesalahan "No route to host".


3
2017-10-11 10:08





Centang kotak ssh saat menginstal RHEL. Saya tidak memeriksanya dan menyebabkan masalah yang sama. Harap periksa parameter itu


1
2018-02-04 11:56





Saya punya masalah yang sama sekarang pada vps, dan itu benar-benar aneh, tidak pernah melihat sesuatu seperti itu.

Saya adalah admin server yang berpengalaman dan kesalahan semacam ini biasanya terpotong dan kering.

Tidak ada rute ke host berarti server tidak tahu cara merutekan paket (tabel routing, namun saya tidak pernah melihatnya hanya terjadi pada satu protokol dan bukan yang lain).

Dalam hal ini.

Tidak ada NAT Koneksi internet. Tidak ada IPTABLES Ping berfungsi Saya dapat terhubung ke ip salah satu sisi dari ip yang rusak. Ip yang rusak mengatakan "tidak ada rute untuk menghosting" pada port tcp apa pun.

Ini menunjukkan sesuatu di tengah mengembalikan kode kesalahan atau bug di OS dengan tabel routing.

Perhatikan kesalahan itu instan, bukan penundaan yang berarti penolakan itu bersifat lokal. Tapi hanya itu yang bisa saya diagnosa.

root@vps1 network # telnet 83.149.xx.xx 23
Trying 83.149.xx.xx...
telnet: Unable to connect to remote host: No route to host
root@vps1 network # telnet 83.149.xx.xx 80
Trying 83.149.xx.xx...
telnet: Unable to connect to remote host: No route to host
root@vps1 network # ping 83.149.xx.xx
PING 83.149.xx.xx (83.149.xx.xx) 56(84) bytes of data.
64 bytes from 83.149.xx.xx: icmp_seq=1 ttl=56 time=8.89 ms
64 bytes from 83.149.xx.xx: icmp_seq=2 ttl=56 time=7.93 ms

1
2018-04-05 15:38





Jika Anda telah mengubah / mengganti sistem hard drive Anda maka coba hapus kunci host dari file .ssh / known_hosts kemudian coba hubungkan lagi.


-2
2017-12-31 14:02



-1. Ini sama sekali tidak ada hubungannya dengan kedua kesalahan koneksi seperti yang diberikan dalam pertanyaan ('Tidak ada rute ke host', 'Waktu koneksi habis'). - gertvdijk
Hmm, saya tahu tapi kadang-kadang menghapus kunci host dan menambahkan lagi bekerja. - Ratiranjan Kar