Existem três máquinas neste cenário:
- Área de trabalho A: [email protected]
- Computador portátil A: [email protected]
- Máquina B: usuá[email protected]
Todas as máquinas possuem o Ubuntu 11.04 (o Desktop A é de 64 bits) e possuem o openssh-server e o openssh-client.
Agora, quando tento conectar o Desktop A ao Laptop A ou vice-versa, ssh [email protected]
recebo um erro como
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 do Desktop B, posso acessar o meu Laptop e o Desktop. Mas se eu tentar acessar o Desktop B no meu laptop ou no Desktop, recebo
port 22: Connection timed out
Eu até tentei mudar a porta ssh no. no ssh_config
arquivo, mas sem sucesso.
Nota : o 'Laptop A' usa a conexão Wi-Fi, enquanto o 'Machine A' usa a conexão Ethernet e o 'Machine B' está em uma rede totalmente diferente.
@Lekensteyn Aqui está ->
Laptop A && Desktop A -> Roteador / Nano_Rcvr fornecido a mim pelo ISP. Portanto, para um roteador, duas máquinas estão conectadas e podem ser acessadas ao mesmo tempo. aqui está minha saída ifconfig para as duas 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)
Área de Trabalho
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
Saída 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
Saída 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
Respostas:
As rotas parecem boas. Suponho que esses endereços IP sejam privados (LAN) e não sejam acessíveis ao público.
Como você está conectado de maneiras diferentes à rede (Wi-Fi / com fio), é muito provável que seu roteador tenha separado redes 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 as conexões.
Caso contrário, configure seu roteador para usar a mesma rede (sub-rede) para conexões sem fio e com fio. Verifique também se o roteador não bloqueia a comunicação cliente a cliente.
Seu roteador está possivelmente descartando todos os pacotes não solicitados; é por isso que seu amigo recebe uma mensagem de "tempo limite de conexão esgotado" no seu endereço IP público. Configure o encaminhamento da porta NAT para que a combinação de endereço IP público + porta seja encaminhada para o seu endereço LAN.
Rede de exemplo:
No roteador A , configure o encaminhamento NAT:
Se você possui um firewall (
ufw
,iptables
...) nas máquinas estabelecidas, permitir o tráfego de entrada para a porta 22 (Área de Trabalho A) e porta 2222 (Laptop A).Agora, a área de trabalho pode ser acessada usando SSH com:
Agora, o laptop pode ser acessado usando SSH com:
Se você deseja acessar a máquina dos seus amigos, aplique estas instruções na máquina dele + roteador.
fonte
Eu tive um problema parecido. Uma máquina com fio e uma sem fio. Encontrei uma caixa de seleção no meu roteador além de "ips separados para lan e wlan" e a marquei. Agora eu posso entrar no computador wireles. Antes disso, recebi a mensagem de erro "Nenhuma rota para hospedar".
fonte
Marque a caixa de seleção ssh ao instalar o RHEL. Não verifiquei e estava causando o mesmo problema. Por favor, verifique esse parâmetro
fonte
Eu tenho o mesmo problema agora em um vps, e é completamente estranho, nunca vi nada parecido.
Eu sou um administrador experiente do servidor e esse tipo de erro normalmente é interrompido.
Nenhuma rota para o host significa que o servidor não sabe como rotear o pacote (tabela de roteamento, no entanto, eu nunca a vi ocorrer apenas em um protocolo e não em outro).
No meu caso.
Sem conexão à Internet NAT. No IPTABLES Ping funciona. Posso conectar-se aos ips de ambos os lados do ip quebrado. O ip quebrado diz "nenhuma rota para hospedar" em qualquer porta TCP.
Isso sugere que algo 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.
fonte
Estranhamente, eu recebia esse erro mesmo depois de executar com êxito o SSH entre o meu PC e o raspberry Pi. O que o corrige para mim é desligar e ligar o wifi (cliente e host), reiniciar o terminal e usar novos endereços IP.
fonte
No meu caso, havia uma rede Docker no mesmo CIDR da minha VPN.
Usei o seguinte comando para descobrir qual rede e depois a removi:
Depois disso, funcionou bem.
fonte
Se você alterou / substituiu o disco rígido do sistema, tente remover a chave do host do arquivo .ssh / known_hosts e tente conectar-se novamente.
fonte