Problema de conexão SSH - permitido pela LAN, mas não pela WAN

2

Eu tentei configurar minha instalação do Arch Linux para ser um host SSH, mas eis o seguinte:

Eu posso ssh localhost , ele não consegue acessar via chave pública e pede nome de usuário e senha, mas ainda é capaz de fazer o login.

Quando tento ssh my_wan_ip , ocorre um erro ssh_exchange_identification: Connection closed by remote host . Eu li todos os tópicos sobre esse erro e nenhum me ajudou. By the way, acaba de confirmar, dá ssh: connect to host my_dyndns_hostname port 22: Connection refused de outra máquina (fora da minha rede, tem diferente wan ip).

Eu tenho sshd: ALL em "hosts.allow", ALL:ALL em "hosts.deny". Eu sou capaz de se conectar ao meu próprio PC via ssh, ping meu próprio pc, mas a minha configuração ssh parece ser o problema, dá aquele erro chato quando eu tento ssh de wan.

/ etc / ssh / ssh_config
/ etc / ssh / sshd_config

E finalmente, aqui está a saída de depuração para sshd e ssh: (eu executei o comando ssh e tirei a saída para sshd debug depois disso):

sshd debug
ssh debug

Eu posso editar minha pergunta de acordo com suas necessidades. Basta pedir mais informações necessárias. BTW eu não tenho iptables em execução. Eu tenho um modem a cabo dsl conectado a um ponto de acesso sem fio da asus wl-330gE, ambos têm seu firewall desativado. Eu configurei o NAT para que a porta 22 seja direcionada para o pc. Estou tendo esse problema.

Qualquer ajuda apreciada, obrigado ..

    
por Kerem Ulutaş 31.05.2011 / 17:52

2 respostas

1

Eu notei essas linhas na sua saída de depuração do cliente ssh (linhas 28-29):

debug3: Incorrect RSA1 identifier
debug3: Could not load "/home/kerem/.ssh/id_dsa" as a RSA1 public key

Então, pode ser que o motivo esteja nas chaves da sua máquina cliente? Tente regenerá-los desta maneira:

ssh-keygen -t rsa
ssh-keygen -t dsa

Eu também faria backup dos antigos. Apenas no caso.

    
por 31.05.2011 / 18:17
1

As seguintes linhas podem ser muito enganadoras:

debug3: Incorrect RSA1 identifier
debug3: Could not load "/home/kerem/.ssh/id_dsa" as a RSA1 public key

Outra resposta sugere:

So, may be the reason is with the keys on your client machine? Try to regenerate them.

Por experiência, posso dizer que esse problema pode ser causado pela configuração do servidor, embora as mensagens pareçam estritamente um problema de chave do cliente. Claro, você quer verificar a configuração do seu cliente também. Mas você fez isso e observou que nada mudou. Isso indica que o problema não é as chaves na sua máquina cliente (e, portanto, a mensagem de erro é enganosa).

Você deve verificar a configuração do servidor.

Por exemplo, descobri que se o seu usuário não for permitido pela configuração do ssh no servidor, o cliente ssh dará exatamente a mesma mensagem de erro (enganosa). Se você não está permitindo todos os usuários, verifique isso:

sudo nano /etc/sshd_config
AllowUsers yourname@*

Verifique também o denyhosts, mas no meu caso o problema era AllowUsers em sshd_config e ele dava essa mesma mensagem de erro enganosa. Corrigir o servidor resolveu o problema sem precisar consertar nenhuma chave no cliente.

    
por 05.05.2012 / 00:44