Erro de conexão SSH: nenhuma rota para o host

31

Existem três computadores neste cenário:

Todas as máquinas possuem o Ubuntu 11.04 (o Desktop A é um de 64 bits) e possuem ambos o openssh-server e o openssh-client.

Agora, quando tento conectar o Desktop A ao Laptop A ou vice-versa por ssh [email protected] , recebo um erro

port 22: No route to host

em ambos os casos.

Eu possuo as duas máquinas, agora, se eu tentar os mesmos comandos da máquina do meu amigo, ou seja, através da Área de Trabalho B, eu posso acessar meu Laptop e Desktop. Mas se eu tentar acessar a área de trabalho B do meu laptop ou pela área de trabalho, obtenho

port 22: Connection timed out

Eu até tentei mudar o ssh port no. no arquivo ssh_config , mas sem sucesso.

Observação : que o "Laptop A" usa conexão Wi-Fi enquanto o "Machine A" usa o Ethernet Connection e "o Machine B" está em uma rede totalmente diferente.

@Lekensteyn Aqui está - >

Laptop A & amp; Área de trabalho A - > Router / Nano_Rcvr fornecido pelo ISP. Portanto, para um roteador, duas máquinas são conectadas e podem ser acessadas ao mesmo tempo. aqui está minha saída ifconfig para ambas as 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)

Desktop

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 

Resultado 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 

Resultado 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
    
por Nihar Sawant 21.07.2011 / 11:28

5 respostas

17

As rotas parecem bem. Presumo que esses endereços IP sejam privados (LAN) e não acessíveis ao público.

Como você está conectado de diferentes maneiras à rede (Wi-Fi / com fio), é muito provável que o seu roteador tenha redes separadas com fio / sem fio. Tente conectar os dois em uma conexão com fio (ou sem fio). Outra possibilidade é que um firewall nas máquinas Ubuntu esteja bloqueando conexões.

Caso contrário, configure seu roteador para usar a mesma rede (sub-rede) para conexões sem fio e com fio. Certifique-se também de que o roteador não bloqueie a comunicação cliente-cliente.

Seu roteador está possivelmente perdendo todos os pacotes não solicitados, e é por isso que seu amigo recebe uma mensagem de "conexão esgotada" em seu endereço IP público. Configure o encaminhamento de porta NAT para que a combinação de endereço IP público + porta seja encaminhada para o seu endereço de rede local.

Exemplo de rede:

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

Em Roteador A , configure o encaminhamento de 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

Se você tiver um firewall ( ufw , iptables , ...) no conjunto de máquinas, permita o tráfego de entrada para a porta 22 (Desktop A) e a porta 2222 (Laptop A).

A área de trabalho agora pode ser acessada usando o SSH com:

ssh [email protected] -p 22

O laptop agora pode ser acessado usando o SSH com:

ssh [email protected] -p 2222

Se você quiser acessar a máquina de seus amigos, aplique essas instruções na máquina + roteador dele.

    
por Lekensteyn 22.07.2011 / 09:05
3

eu tive um problema semelhante. Uma máquina no fio um sem fio. Eu encontrei uma caixa de seleção no meu roteador além de "ips separados para lan e wlan" e marcou-o. Agora eu posso acessar o computador wireles. Antes disso, recebi a mensagem de erro "Nenhuma rota para hospedar".

    
por smev9 11.10.2013 / 12:08
1

Marque a caixa de seleção ssh ao instalar o RHEL. Eu não verifiquei isso e causei o mesmo problema. Por favor, verifique esse parâmetro

    
por Mayur Sawant 04.02.2016 / 12:56
1

Eu tenho o mesmo problema agora em um vps, e é completamente estranho, nunca vi nada parecido.

Sou um administrador de servidores experiente e esse tipo de erro normalmente é cortado e seco.

Nenhuma rota para hospedar significa que o servidor não sabe como rotear o pacote (tabela de roteamento, no entanto, eu nunca vi isso ocorrer apenas em um protocolo e não em outro).

No meu caso.

Sem NAT Conexão de internet. Sem IPTABLES Trabalhos Ping Eu posso conectar ao ip de cada lado do ip quebrado. O ip quebrado diz "não há rota para hospedar" em qualquer porta tcp.

Isso sugere que alguma coisa no meio está retornando o código de erro ou um bug no sistema operacional com a tabela de roteamento.

Observe que o erro é instantâneo, não um atraso, o que significa que a rejeição é local. Mas isso é tudo que posso diagnosticar.

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
    
por ChrisC79 05.04.2016 / 17:38
-2

Se você alterou / substituiu o disco rígido do seu sistema, em seguida, tente remover o host do arquivo .ssh / known_hosts e tente se conectar novamente.

    
por Ratiranjan Kar 31.12.2014 / 15:02

Tags