Erreur de connexion SSH: aucune route à héberger

30

Il y a trois machines dans ce scénario:

Toutes les machines ont Ubuntu 11.04 (le bureau A est un 64 bits) et ont à la fois openssh-server et openssh-client.

Maintenant, quand j'essaie de connecter Desktop A à Laptop A ou vice-versa par ssh [email protected] , je reçois une erreur sous la forme

port 22: No route to host

dans les deux cas.

Je possède les deux machines, maintenant si j'essaie les mêmes commandes depuis la machine de mon ami, c'est-à-dire via Desktop B, je peux accéder à la fois à mon ordinateur portable et à mon bureau. Mais si j'essaie d'accéder à Desktop B à partir de mon ordinateur portable ou de mon ordinateur, j'obtiens

port 22: Connection timed out

J'ai même essayé de changer le port ssh no. dans ssh_config fichier mais sans succès.

Remarque : "Laptop A" utilise une connexion WiFi alors que "Machine A" utilise une connexion Ethernet et que "Machine B" se trouve sur un réseau entièrement différent.

@Lekensteyn La voici - & gt;

Ordinateur portable A & amp; & amp; Desktop A - & gt; Routeur / Nano_Rcvr fourni par ISP. Ainsi, sur un routeur, deux machines sont connectées et accessibles simultanément. voici ma sortie ifconfig pour les deux machines: - Ordinateur portable

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)

Bureau

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 

Sortie de 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 

Sortie de 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
    
posée Nihar Sawant 21.07.2011 - 11:28
la source

5 réponses

17

Les routes ont l'air bien. Je suppose que ces adresses IP sont privées (LAN) et non accessibles au public.

Comme vous êtes connecté de différentes manières au réseau (wifi / câblé), il est très probable que votre routeur dispose de réseaux câblés / sans fil séparés. Essayez de les connecter tous les deux sur une connexion filaire (ou sans fil). Une autre possibilité est qu'un pare-feu sur les machines Ubuntu bloque les connexions.

Sinon, configurez votre routeur pour utiliser le même réseau (sous-réseau) pour les connexions sans fil et câblées. Assurez-vous également que le routeur ne bloque pas la communication client-client.

Votre routeur supprime peut-être tous les paquets non sollicités, c'est pourquoi votre ami reçoit un message "connexion expirée" sur votre adresse IP publique. Configurez le transfert de port NAT pour que la combinaison adresse IP publique + port soit transmise à votre adresse LAN.

Exemple de réseau:

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

Sur Routeur A , configurez le transfert 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

Si vous avez un pare-feu ( ufw , iptables , ...) sur le jeu de machines, autorisez le trafic entrant sur le port 22 (Desktop A) et le port 2222 (Laptop A). ​​

Le bureau est désormais accessible avec SSH avec:

ssh [email protected] -p 22

L’ordinateur portable est désormais accessible avec SSH avec:

ssh [email protected] -p 2222

Si vous souhaitez accéder à la machine de vos amis, appliquez ces instructions à sa machine + au routeur.

    
réponse donnée Lekensteyn 22.07.2011 - 09:05
la source
3

J'ai eu un problème similaire. Une machine sur le fil un sans fil. J'ai trouvé une case à cocher dans mon routeur en plus de "ips séparés pour le lan et le wlan" et l'ai cochée. Maintenant, je peux me connecter à l'ordinateur sans fil. Avant cela, j'ai reçu le message d'erreur "No route to host".

    
réponse donnée smev9 11.10.2013 - 12:08
la source
1

Cochez la case ssh lors de l’installation de RHEL. Je ne l'ai pas vérifié et provoqué le même problème. Veuillez vérifier ce paramètre

    
réponse donnée Mayur Sawant 04.02.2016 - 12:56
la source
1

J'ai eu le même problème maintenant sur un vps, et c'est complètement bizarre, je n'ai jamais rien vu de tel.

Je suis un administrateur de serveur expérimenté et ce type d’erreur est normalement coupé et sec.

Aucune route vers l’hôte signifie que le serveur ne sait pas comment acheminer le paquet (table de routage, mais je ne l’ai jamais vu se produire uniquement sur un protocole et non sur un autre).

Dans mon cas.

Pas de NAT Connexion Internet. Aucun IPTABLES Ping fonctionne Je peux me connecter à l'ip de part et d'autre de l'IP cassée. L’adresse IP brisée indique "aucune route à héberger" sur n’importe quel port TCP.

Cela suggère que quelque chose au milieu retourne le code d'erreur ou un bogue dans le système d'exploitation avec la table de routage.

Notez que l'erreur est instantanée, pas un délai, ce qui signifie que le rejet est local. Mais c'est tout ce que je peux diagnostiquer.

[email protected] network # telnet 83.149.xx.xx 23
Trying 83.149.xx.xx...
telnet: Unable to connect to remote host: No route to host
[email protected] network # telnet 83.149.xx.xx 80
Trying 83.149.xx.xx...
telnet: Unable to connect to remote host: No route to host
[email protected] 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
    
réponse donnée ChrisC79 05.04.2016 - 17:38
la source
-2

Si vous avez changé / remplacé votre disque dur du système, essayez de supprimer la clé d’hôte du fichier .ssh / known_hosts, puis essayez à nouveau de vous connecter.

    
réponse donnée Ratiranjan Kar 31.12.2014 - 15:02
la source

Lire d'autres questions sur les étiquettes