Por que o Ubuntu não pode acessar meu Raspberry Pi pela LAN?


9

Ok, recentemente adquiri um Raspberry Pi e conectei-o ao meu Wi-Fi - ativei o SSH e instalei o Hiawatha, e consegui acessá-lo muito bem no meu Desktop, que estava executando o Puppy Linux naquele momento.

Eu também podia acessá-lo muito bem quando inicializado no Windows (PuTTY no Win XP Pro) e o Netbook podia acessá-lo via PuTTY também. (Vitória 7 Iniciante)

No entanto, quando iniciei o Ubuntu, todas as conexões SSH, HTTP e HTTPS foram recusadas. Para confirmar que era o Ubuntu, e apenas o Ubuntu, que estava com problemas de conexão, reinicializei no Puppy Linux - conectado corretamente e no Windows - conectado corretamente. O Netbook também pode se conectar aos três serviços sem problemas. Foi apenas o Ubuntu que disse que a conexão foi recusada.

Gostaria de saber o que há de errado - eu já fiz toda a solução básica de problemas: reinicializando o RPi, reiniciando o computador, reiniciando o roteador sem fio etc. O Raspberry Pi não possui Firewall habilitado e meu roteador oferece todos os dispositivos conectados Acesso irrestrito à LAN. Fiz testes extensivos e o Ubuntu provou, sem sombra de dúvida, ser o único que não estava disposto a se conectar.

ATUALIZAÇÃO: Acabei de testar o acesso via meu IP externo e tudo corre bem no Ubuntu! No entanto, o Ubuntu ainda não pode acessar o Pi a partir de nada local, e acabei de confirmar que meus outros sistemas operacionais podem . Eu acho estranho que o Ubuntu tenha problemas para se conectar localmente (ao contrário dos outros sistemas operacionais), mas esteja bem acessando o Pi através do meu IP externo.

ATUALIZAÇÃO 2: desabilitar meu firewall permite acessar o dispositivo, mas a senha é incorreta a cada . solteiro . hora . Tentei digitar no Gedit e arrastá-lo e soltá-lo no prompt de senha durante o login SSH, e ele autoriza o acesso pi@jamestheawesomedude.cu.cc, mas NÃO o acesso pi@192.168.2.128. Isso é incrivelmente frustrante.


2
Por favor, mostre-nos os logs. ssh -vvv user@hostno lado do cliente, sudo tail -f /var/log/auth.logno lado do servidor. Talvez faça sentido aumentar a verbosidade na configuração do servidor SSH também.
Andrejs Cainikovs

Não há realmente nada de interessante, apenas uma "conexão recusada" mensagem: pastebin.com/Nc1W8Mja
JamesTheAwesomeDude

3
FYI: Há também uma framboesa pilha raspberrypi.stackexchange.com
Meer Borg

3
@MeerBorg Eu já sou um usuário lá , e realmente pensei em fazer isso lá, mas o Ubuntu é o único com problemas de conexão. Se eu não conseguisse conectar através de qualquer método, suspeitaria de um problema com o próprio Pi, mas como o Ubuntu é o mais estranho por aqui, tomei a decisão de solicitá-lo neste site.
JamesTheAwesomeDude

@JamesTheAwesomeDude, deve haver algo mais descritivo do que a conexão simples recusada . Esta mensagem é um resultado, mas também deve haver uma mensagem de erro.
Andrejs Cainikovs

Respostas:


1

Então, até você ter ufwativado as configurações padrão em sua máquina Ubuntu, a conexão sempre é relatada Connection refused. Depois de desabilitar o ufwcliente, a conexão é estabelecida, mas a senha é sempre rejeitada?

Eu acho que, nesse caso, seu problema é que o 192.168.2.128ip é roteado de volta para a máquina Ubuntu do cliente e, na verdade, você está se conectando ao sshservidor em execução na máquina Ubuntu. Isso explicaria:

  • Por que você é capaz de se conectar a partir da internet?

  • Por que sua conexão foi rejeitada quando o firewall estava ativado no seu cliente Ubuntu.

  • Por que a conexão não é mais rejeitada com o firewall do cliente desativado.

  • Por que agora a conexão está estabelecida, mas a autenticação falha.

Para solucionar esse caso:

  • Verifique a chave do host do servidor com ssh -v pi@192.168.2.128uma conexão local e uma conexão à Internet. Ele informa a mesma chave?

  • Ou enquanto você estiver se conectando a partir do local, e você estiver pronto para digitar sua senha, em outro terminal: sudo netstat -tupane veja se uma conexão é estabelecida sshdno Ubuntu.

Embora este caso explique tudo, mas é tão estranho que eu duvide que esse seja o seu problema.


#ufw permite que <port> adicione uma exceção. #ssh -v user @ address para obter uma saída detalhada, que informará mais sobre por que você não pode se conectar. "conexão recusada" freqüentemente significa que a porta padrão está incorreta, ou o cliente ou servidor do firewall está bloqueando a conexão.
J0h 15/01

11
@ j0h Acho que você queria postar este comentário como um comentário à pergunta. Mas enfim: nos comentários, o OP já forneceu ssh -vvvsaída. Ele também disse na pergunta que o Pi não possui firewall ativado, portanto o ufw está no cliente e disse que o desativou, mas ainda não pode fazer login. A porta também não pode ser um problema porque ele pode conectar-se à mesma porta de outras máquinas.
Falconer

1

É perfeitamente possível que a sua máquina ubuntu esteja recebendo um endereço IP de rede diferente do esperado. Tente o seguinte:

  • No raspi, verifique seu endereço IP com ifconfig | grep 192.168
  • na máquina ubuntu, verifique seu endereço IP com ifconfig | grep 192.168

Para poder conversar entre si na rede local, eles devem estar usando a mesma sub-rede - consulte a terceira seção do endereço IP para verificar se estão. No seu caso, ambos devem estar na sub-rede 192.168.2. *.

Verifique se eles também têm endereços IP diferentes . Isso pode parecer óbvio, mas pode acontecer se um deles estiver usando DHCP e o outro estiver definido estaticamente.

Se tudo der certo, execute o seguinte comando para ver para onde seus pacotes devem estar indo:

route -n

Procure na saída a sub-rede de destino que se aplica ao seu raspberry pi. Realmente deve haver apenas 3 linhas:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0

Se você tem mais linhas ou coisas estão indo para lugares estranhos, então essa é a resposta.

Meu palpite é que sua conexão ssh está acabando atingindo um servidor SSH diferente daquele no seu raspberry pi, e é por isso que a alteração do firewall do ubuntu o afetou e seus logins não estão funcionando.


0

De acordo com o conteúdo do seu PasteBin, a "conexão recusada" indica que você está recebendo uma redefinição do TCP do que estiver nesse endereço IP.

Verificação de integridade: Durante a solução de problemas, DISABLE ufw.

Com o firewall do desktop desativado, você pode executar ping no Pi na área de trabalho? Você pode executar ping na área de trabalho do seu Pi?

Depois de tentar o ping nas duas direções, observe a saída de 'arp -n' nas duas máquinas. Eles vêem os endereços MAC (hardware Ethernet) um do outro ou algo está redirecionando / interceptando o tráfego?

Se você puder executar ping nas duas direções e 'arp -n' indicar que os endereços MAC adequados estão sendo usados ​​(verifique 'ifconfig' na máquina oposta), a próxima etapa é examinar /var/log/auth.log no Pi. Deve informar o que há de errado com a tentativa de conexão.

Se o acima exposto não ajudar, mostre-nos a saída dos seguintes comandos no Pi:

sudo ifconfig -a
cat /etc/resolv.conf
arp -n
netstat -rn
sudo iptables-save
sudo grep ssh /var/log/auth.log | tail -50

E na sua área de trabalho:

sudo ifconfig -a
cat /etc/resolv.conf
arp -n
netstat -rn
sudo iptables-save

Vejo isso colado nos comentários acima, mas tudo é importante primeiro com o firewall desativado. Se você puder fazê-lo funcionar com o firewall desativado, poderá prosseguir com a solução de problemas das regras do firewall.

Além disso, mesmo que você esteja direcionando um endereço IP, as configurações de DNS ainda são importantes porque o SSH usa o DNS durante a validação da chave do host.


0

Exclua o ~/.ssh/known_hostsarquivo e tente novamente. Se anteriormente havia um host com o mesmo endereço IP ssh acessível, você pode manter uma impressão digital inválida


0

No Ubuntu 13.10, eu não conseguia ssh para o meu pi, como anteriormente no 13.04 e Mint 16. Ao tentar

ssh -vvv user@host

Eu tenho :

debug1: expecting SSH2_MSG_KEX_ECDH_REPLY

Encontrei uma sugestão que dizia definir MTU para a máquina (não o pi) para 1200 em vez de automático. Eu fiz isso, desliguei -> depois no meu wifi e conectei com ssh ao PI na primeira tentativa. Espero que isso ajude alguém.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.