Hay tres máquinas en este escenario:
- Escritorio A: [email protected]
- Laptop A: [email protected]
- Máquina B: [email protected]
Todas las máquinas tienen Ubuntu 11.04 (el escritorio A es de 64 bits) y tienen tanto openssh-server como openssh-client.
Ahora, cuando intento conectar el escritorio A al portátil A o viceversa ssh [email protected]
, aparece un error como
port 22: No route to host
en ambos casos.
Soy propietario de ambas máquinas, ahora si intento los mismos comandos desde la máquina de mi amigo, es decir, a través del Escritorio B, puedo acceder tanto a mi computadora portátil como a mi escritorio. Pero si intento acceder al escritorio B desde mi computadora portátil o desde el escritorio, obtengo
port 22: Connection timed out
Incluso intenté cambiar el puerto ssh no. en ssh_config
archivo pero sin éxito.
Nota : que 'Laptop A' usa conexión WiFi mientras que 'Máquina A' usa Conexión Ethernet y 'Máquina B' está en una red completamente diferente.
@Lekensteyn Aquí está ->
Laptop A && Desktop A -> Router / Nano_Rcvr que me proporcionó ISP. Entonces, a un enrutador, se conectan dos máquinas a las que se puede acceder al mismo tiempo. Aquí está mi salida ifconfig para ambas máquinas: - 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)
Escritorio
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
Salida 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
Salida 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
Respuestas:
Las rutas se ven bien. Asumiré que esas direcciones IP son privadas (LAN) y no accesibles al público.
Dado que está conectado de diferentes maneras a la red (wifi / con cable), es muy probable que su enrutador haya separado las redes con cable / inalámbricas. Intente conectar ambos en una conexión por cable (o inalámbrica). Otra posibilidad es que un firewall en las máquinas Ubuntu esté bloqueando las conexiones.
De lo contrario, configure su enrutador para usar la misma red (subred) para conexiones inalámbricas y cableadas. También asegúrese de que el enrutador no bloquee la comunicación de cliente a cliente.
Es posible que su enrutador descarte todos los paquetes no solicitados, por eso su amigo recibe un mensaje de "tiempo de espera de conexión" en su dirección IP pública. Configure el reenvío de puertos NAT para que la combinación de dirección IP pública + puerto reenvíe a su dirección LAN.
Ejemplo de red:
En el enrutador A , configure el reenvío NAT:
Si usted tiene un servidor de seguridad (
ufw
,iptables
, ...) en las máquinas establecidos, permitir el tráfico entrante en el puerto 22 (Escritorio A) y el puerto 2222 (un ordenador portátil).Ahora se puede acceder al escritorio utilizando SSH con:
Ahora se puede acceder a la computadora portátil usando SSH con:
Si desea acceder a la máquina de sus amigos, aplique estas instrucciones a su máquina + enrutador.
fuente
Tuve un problema similar. Una máquina con cable, una inalámbrica. Encontré una casilla de verificación en mi enrutador además de "ips separados para lan y wlan" y lo marqué. Ahora puedo iniciar sesión en la computadora de Wireles. Antes de eso recibí el mensaje de error "No hay ruta al host".
fuente
Marque la casilla de verificación ssh mientras instala RHEL. No lo revisé y causé el mismo problema. Por favor verifique ese parámetro
fuente
Tengo el mismo problema ahora en un vps, y es completamente extraño, nunca he visto algo así.
Soy un administrador de servidor experimentado y este tipo de error normalmente se corta y se seca.
Ninguna ruta al host significa que el servidor no sabe cómo enrutar el paquete (tabla de enrutamiento, sin embargo, nunca he visto que solo ocurra en un protocolo y no en otro).
En mi caso.
No hay conexión a Internet NAT. No IPTABLES Ping funciona. Puedo conectarme a los ip de cualquier lado de la ip rota. La ip rota dice "no hay ruta al host" en cualquier puerto tcp.
Esto sugiere que algo en el medio está devolviendo el código de error o un error en el sistema operativo con la tabla de enrutamiento.
Tenga en cuenta que el error es instantáneo, no un retraso, lo que significa que el rechazo es local. Pero eso es todo lo que puedo diagnosticar.
fuente
Extrañamente obtendría este error incluso después de ejecutar con éxito SSH entre mi PC y Raspberry Pi. Lo que me soluciona es apagar y encender wifi (tanto cliente como host), reiniciar su terminal y usar nuevas direcciones IP.
fuente
En mi caso, había una red Docker en el mismo CIDR que mi VPN.
Usé el siguiente comando para averiguar qué red, y luego lo eliminé:
Después de eso funcionó bien.
fuente
Si ha cambiado / reemplazado el disco duro de su sistema en caso, intente eliminar la clave host del archivo .ssh / known_hosts y luego intente conectarse nuevamente.
fuente