web-dev-qa-db-fra.com

Erreur de connexion SSH: aucune route à héberger

Il y a trois machines dans ce scénario:

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

Maintenant, lorsque j'essaie de connecter le bureau A à l'ordinateur portable A ou vice versa par ssh [email protected], le message d'erreur suivant s'affiche:

port 22: No route to Host

dans les deux cas.

Je possède les deux machines. Désormais, si j’essaie les mêmes commandes que les machines de mes amis, c’est-à-dire que via le Bureau B, je peux accéder à la fois à mon ordinateur portable et à mon bureau. Mais si j'essaie d'accéder à Desktop B depuis mon ordinateur portable ou par Desktop, je reçois

port 22: Connection timed out

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

Note: que "l'ordinateur portable A" utilise une connexion WiFi alors que la "machine A" utilise une connexion Ethernet et que la "machine B" se trouve sur un réseau entièrement différent.

@ Lekensteyn Le voici ->

Ordinateur portable A && Desktop A -> Routeur/Nano_Rcvr fourni par le FAI. Ainsi, sur un routeur, deux machines sont connectées et peuvent être accédées en même temps. voici ma sortie ifconfig pour les deux machines: - 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)

Burea

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 deip 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 detraceroute -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
32
Nihar Sawant

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

Étant donné que vous êtes connecté de différentes manières au réseau (wifi/filaire), il est fort probable que votre routeur dispose de réseaux câblés/sans fil séparés. Essayez de connecter 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 est peut-être en train de supprimer 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 de sorte que la combinaison adresse IP publique + port soit transférée vers 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 les ports 22 (bureau A) et 2222 (ordinateur portable A).

On peut maintenant accéder au bureau en utilisant SSH avec:

ssh [email protected] -p 22

L’ordinateur portable est maintenant accessible via SSH avec:

ssh [email protected] -p 2222

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

18
Lekensteyn

j'avais un problème similaire. Une machine sur fil une sans fil. J'ai trouvé une case à cocher dans mon routeur en plus de "séparer les ips pour le réseau local et le réseau local" et je l'ai coché. Maintenant, je peux me connecter à l'ordinateur wireles. Avant cela, j'ai reçu le message d'erreur "Aucune route vers l'hôte".

3
smev9

J'ai moi-même 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 genre d'erreur est normalement coupé et séché.

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

Dans mon cas.

Pas de NAT connexion Internet. Aucun IPTABLES Ping fonctionne Je peux me connecter à l'un des côtés de l'ip cassé. L'IP cassé dit "pas de route à l'hôte" sur n'importe quel port TCP.

Cela suggère que quelque chose au milieu renvoie 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 et non un délai, ce qui signifie que le rejet est local. Mais c'est tout ce que je peux diagnostiquer.

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
ChrisC79

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

1
Mayur Sawant