SSH Bağlantı Hatası: Ana bilgisayara giden yol yok


34

Bu senaryoda üç makine vardır:

  • Masaüstü A: kullanici@1.23.xx
  • Dizüstü Bilgisayar A: kullanici@1.23.yy
  • Makine B: kullanici@192.168.zz

Tüm makinelerde Ubuntu 11.04 (Masaüstü A 64bit bir) ve hem openssh-server hem de openssh-istemcisine sahiptir.

Şimdi Masaüstü A'yı Dizüstü Bilgisayar A'ya bağlamaya çalıştığımda veya tersi tarafından ssh user@1.23.y.ybir hata alıyorum

port 22: No route to host

Her iki durumda da.

Her iki makineye de sahibim, şimdi arkadaşımın makinesinden aynı komutları uygularsam, yani Desktop B üzerinden, hem Laptop hem de Desktop’a erişebiliyorum. Ancak Desktop B'ye Dizüstü bilgisayarımdan veya Desktop’tan erişmeye çalışırsam,

port 22: Connection timed out

Hatta ssh portunu değiştirmeyi bile denedim. içinde ssh_configdosyanın ama hiçbir başarı.

Not : 'Laptop A' WiFi bağlantısını kullanırken, 'Makine A' Ethernet Bağlantısını kullanır ve 'Makine B' tamamen farklı bir ağdadır.

@Lekensteyn İşte ->

Dizüstü Bilgisayar A ve Masaüstü A -> Router / Nano_Rcvr bana ISS tarafından sağlandı. Böylece bir yönlendiriciye iki makina bağlanır ve aynı anda erişilebilir. iki makinede de ifconfig çıktısı: - 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)

Masaüstü

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 

Çıktısı 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 

Çıktısı 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

Lütfen bu IP adreslerini düzeltin. 1.23.xx genel IP adresi var mı? Değilse, lütfen 10.xxx, 192.168.xx veya 172.16.xx kullanın. Diğer makinelere ping yapabilir misiniz? ping 192.168.x.x
Lekensteyn

Kulağa tuhaf geliyor ama onun için halka açık bir IP Addr, eğer isterseniz 'ifconfig' çıktısı verebilirim. Ben Ping hem benim makineleri edemem Hayır arkadaşımın makinesini ping olabilir rağmen 'Hedef Sunucu Unrechable' diyor
Nihar Sawant

1
Ağ kurulumunuzu çizebilir misiniz? ASCII sanatı iyi olacak. Makineleri, "internet" i ve ilgili (ev) yönlendiricileri / modemleri eklemeniz gerekir.
Lekensteyn

2
@Lekensteyn ile aynı fikirdeyim. Bu problemler en yaygın olarak NAT / iletme sorunlarıdır. Ağ yapınızı açıklayın, muhtemelen yardımcı olabiliriz.
Oli

Benim güncellenmiş Yayınla kontrol @Lekensteyn
Nihar Sawant

Yanıtlar:


18

Yollar iyi görünüyor. Bu IP adreslerinin özel adresler (LAN) olduğunu ve herkese açık olmadıklarını varsayacağım.

Ağa farklı şekillerde bağlandığınızdan (wifi / kablolu), yönlendiricinizin kablolu / kablosuz ağları ayırması çok muhtemeldir. İkisini de kablolu (veya kablosuz) bir bağlantıya bağlamayı deneyin. Başka bir olasılık da Ubuntu makinelerinde bulunan bir güvenlik duvarının bağlantıları engelliyor olmasıdır.

Aksi halde, yönlendiricinizi kablosuz ve kablolu bağlantılar için aynı ağı (alt ağ) kullanacak şekilde yapılandırın. Ayrıca yönlendiricinin istemciden müşteriye iletişimi engellemediğinden emin olun.

Yönlendiriciniz muhtemelen istenmeyen tüm paketleri bırakıyor, bu nedenle arkadaşınızın ortak IP adresinize "bağlantı zaman aşımına uğradı" mesajı almasının nedeni budur. NAT bağlantı noktası iletmeyi, genel IP adresi + bağlantı noktası kombinasyonunu LAN adresinize iletecek şekilde yapılandırın.

Örnek ağ:

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

On Yönlendirici A , kurulum NAT yönlendirmesi:

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

Ayarlanan makinelerde güvenlik duvarınız ( ufw,, iptables...) varsa, 22 numaralı bağlantı noktasına (Masaüstü A) ve 2222 numaralı bağlantı noktasına (Laptop A) gelen trafiğe izin verin.

Şimdi masaüstüne SSH kullanılarak erişilebilir:

ssh user@198.51.100.1 -p 22

Dizüstü bilgisayara artık SSH ile şu adresten erişilebilir:

ssh user@198.51.100.1 -p 2222

Arkadaşlarınıza makinenize erişmek istiyorsanız, bu talimatları makine + yönlendiricisine uygulayın.


3

benzer bir problemim vardı. Tel üzerinde bir makine bir kablosuz. Yönlendiricimde "lan ve wlan için ayrı ips" dışında bir onay kutusu buldum ve işaretledim. Şimdi wireles bilgisayarına giriş yapabilirim. Ondan önce "Ev sahibine yol yok" hata mesajını aldım.


1

RHEL'i kurarken ssh onay kutusunu işaretleyin. Kontrol etmedim ve aynı soruna neden oldum. Lütfen bu parametreyi kontrol edin


1

Aynı sorunu şimdi kendime bir vps ile aldım ve tamamen tuhaf, hiç böyle bir şey görmedim.

Ben deneyimli bir sunucu yöneticisiyim ve bu tür hatalar normalde kesilir ve kurutulur.

Ana bilgisayara yönlendirmenin olmaması, sunucunun paketi nasıl yönlendireceğini bilmediği anlamına gelir (yönlendirme tablosu, ancak yalnızca bir protokolde gerçekleştiğini görmedim, başka bir tane değil).

Benim durumumda.

NAT İnternet bağlantısı yok. IPTABLES Yok Ping çalışıyor Ip'in kırılan ipin her iki tarafına da bağlanabiliyorum. Bozuk ip, herhangi bir tcp portunda "ev sahipliği yapacak yol yok" diyor.

Bu, ortadaki bir şeyin hata kodunu döndürdüğünü veya işletim sisteminde yönlendirme tablosu bulunan bir hatayı döndürdüğünü gösteriyor.

Hatanın anlık olduğunu, reddetmenin yerel olduğu anlamına gelen bir gecikme olmadığını unutmayın. Ama tanıyabildiğim tek şey bu.

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

0

PC'm ile ahududu Pi arasında SSH'yi başarılı bir şekilde çalıştırdıktan sonra bile garip bir şekilde bu hatayı alırdım. Benim için düzelten şey, wifi'u açıp kapatmak (hem istemci hem de ana bilgisayar), terminalinizi yeniden başlatmak ve yeni ip adreslerini kullanmak.


0

Benim durumumda, VPN'im ile aynı CIDR'de bir Docker ağı vardı.

Hangi ağı bulmak için aşağıdaki komutu kullandım ve sonra onu kaldırdım:

docker inspect $(docker network ls -q) | jq '.[] | {name: .Name, cidr: .IPAM.Config[0].Subnet}'

Bundan sonra iyi çalıştı.


-3

Sisteminizdeki sabit disk sürücüsünü değiştirdiyseniz / değiştirdiyseniz, ana bilgisayar anahtarını .ssh / known_hosts dosyasından kaldırmayı deneyin ve ardından tekrar bağlanmayı deneyin.


1
-1. Bunun, soruda belirtildiği gibi her iki bağlantı hatasıyla da hiçbir ilgisi yoktur ('Ev sahibine yol yok', 'Bağlantı zaman aşımına uğradı').
gertvdijk

Hmm, biliyorum ama bazen ana bilgisayar anahtarını kaldırmak ve tekrar eklemek işe yarar.
Ratiranjan Kar
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.