Il y a trois machines dans ce scénario:
- Bureau A: [email protected]
- Ordinateur portable A: [email protected]
- Machine B: [email protected]
Toutes les machines ont Ubuntu 11.04 (le bureau A est à 64 bits) et ont à la fois openssh-server et openssh-client.
Maintenant, lorsque je tente de connecter le bureau A à l’ordinateur portable A ou vice-versa, ssh [email protected]
j’obtiens une erreur.
port 22: No route to host
dans les deux cas.
Je possède les deux machines. Maintenant, si j'essaie les mêmes commandes que celles de mes amis, c'est-à-dire 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. en ssh_config
fichier mais pas de succès.
Remarque : cet ordinateur portable utilise une connexion WiFi alors que la machine A utilise une connexion Ethernet et la machine B se trouve sur un réseau entièrement différent.
@Lekensteyn La 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: - 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
ping 192.168.x.x
Réponses:
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:
Sur le routeur A , configurez le transfert NAT:
Si vous avez un pare - feu (
ufw
,iptables
...) sur les machines fixées, autoriser le trafic entrant vers le port 22 (Bureau A) et le port 2222 (ordinateur portable A).On peut maintenant accéder au bureau en utilisant SSH avec:
L’ordinateur portable est maintenant accessible via SSH avec:
Si vous souhaitez accéder à la machine de vos amis, appliquez ces instructions à sa machine et à son routeur.
la source
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 à héberger".
la source
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
la source
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é.
Pas de route à héberger signifie que le serveur ne sait pas comment router le paquet (table de routage, cependant je ne l’ai jamais vue se produire uniquement sur un protocole et pas sur un autre).
Dans mon cas.
Pas de connexion Internet NAT. Aucun IPTABLES Ping fonctionne Je peux me connecter à l'un des côtés de l'ip cassé. L'IP cassé dit "aucune route à héberger" 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.
la source
Je voudrais bizarrement obtenir cette erreur même après avoir exécuté SSH avec succès entre mon PC et Raspberry Pi. Pour moi, la solution consiste à activer et désactiver le wifi (client et hôte), à redémarrer votre terminal et à utiliser de nouvelles adresses IP.
la source
Dans mon cas, il y avait un réseau Docker sur le même CIDR que mon VPN.
J'ai utilisé la commande suivante pour déterminer quel réseau, puis je l'ai supprimé:
Après ça a bien fonctionné.
la source
Si vous avez modifié / remplacé le disque dur de votre système, essayez de supprimer la clé hôte du fichier .ssh / known_hosts, puis essayez à nouveau de vous connecter.
la source