Conexão SSH não é possível na rede local

1

Hoje eu percebi uma coisa muito estranha:

Eu tenho um servidor (rodando o Ubuntu Server 12.04.4 LTS) na minha rede local, cuja porta SSH é acessada pela internet (eu posso me conectar a ele usando ssh my.internet.ip.address ).

No entanto, percebi apenas hoje que não consigo me conectar a ele na rede local ( ssh its.local.ip.address falha sem erros).

Eu verifiquei /etc/hosts.deny e adicionei meu computador explicitamente em /etc/hosts.allow , mas isso não mudou nada. Claro, eu também tentei reiniciar o ssh e todo o servidor. Não há novas atualizações disponíveis.

A conexão local falha:

myself@my-desktop ~ $ ssh -v its.local.ip.address
OpenSSH_6.2p2 Ubuntu-6ubuntu0.4, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to its.local.ip.address [its.local.ip.address] port 22.
debug1: Connection established.
debug1: identity file /home/myself/.ssh/id_rsa type -1
debug1: identity file /home/myself/.ssh/id_rsa-cert type -1
debug1: identity file /home/myself/.ssh/id_dsa type -1
debug1: identity file /home/myself/.ssh/id_dsa-cert type -1
debug1: identity file /home/myself/.ssh/id_ecdsa type -1
debug1: identity file /home/myself/.ssh/id_ecdsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2p2 Ubuntu-6ubuntu0.4
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1.4
debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.4 pat OpenSSH_5*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
Connection closed by its.local.ip.address
myself@my-desktop ~ $ 

No entanto, a conexão remota funciona:

myself@my-desktop ~ $ ssh -v my.internet.ip.address
OpenSSH_6.2p2 Ubuntu-6ubuntu0.4, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to my.internet.ip.address [my.internet.ip.address] port 22.
debug1: Connection established.
debug1: identity file /home/myself/.ssh/id_rsa type -1
debug1: identity file /home/myself/.ssh/id_rsa-cert type -1
debug1: identity file /home/myself/.ssh/id_dsa type -1
debug1: identity file /home/myself/.ssh/id_dsa-cert type -1
debug1: identity file /home/myself/.ssh/id_ecdsa type -1
debug1: identity file /home/myself/.ssh/id_ecdsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2p2 Ubuntu-6ubuntu0.4
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1.4
debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.4 pat OpenSSH_5*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA [... hidden here ...]
debug1: Host 'my.internet.ip.address' is known and matches the ECDSA host key.
debug1: Found key in /home/myself/.ssh/known_hosts:4
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: password
debug1: Next authentication method: password
[email protected]'s password: 
[ ... everything works just fine ... ]

Qual pode ser a causa deste problema e mais importante como posso resolvê-lo?

Nota: Aumentar a verbosidade ( ssh -vvv ) não mostra nada além do ponto em que ambas as saídas se desviam.

    
por MrD 27.07.2014 / 00:40

3 respostas

1

O servidor está decidindo abandonar a conexão, então você deve depurar o problema do lado do servidor. Se você tiver acesso "root" no servidor, poderá executar sshd interativamente:

/path/to/sshd -ddd -p 42

Isso iniciará uma cópia de sshd na porta 42 - você poderia especificar um número diferente - no modo de depuração. Ele será executado em primeiro plano, aceitando uma única conexão e imprimindo informações de depuração para o seu terminal.

Agora conecte-se ao seu cliente:

ssh -v -p 42 its.local.ip.address

Com alguma sorte, as mensagens de depuração do lado do servidor devem indicar por que ele está descartando a sessão.

    
por 30.07.2014 / 19:43
0

Eu assumo que a máquina cliente é a mesma em ambas as capturas (mesmo que as promessas sejam diferentes) Como está permitindo a conexão TCP, provavelmente está relacionado a inverter DNS e / ou negar políticas na configuração do sshd.

Tente desativar o DNS no lado do servidor (UseDNS = no no sshd_config) e reiniciar o sshd (kill -1 deve ser suficiente)

    
por 08.08.2014 / 00:07
0

Esse bug afetou usuários múltiplos.

Quando local, tente ssh -X para desativar o encaminhamento x.

Além disso, a Unidade Máxima de Transmissão [MTU] pode precisar ser ajustada para o MTU do ssh_server.

** se isso não funcionar quando for local, tente:

 myself@my-desktop ~ $ ssh -v my.internet.ip.address

Se ele puder atravessar sua rede, volte para ...

Pode haver erros de configuração do servidor, verifique sshd_config para "usuários permitidos", bem como onde o known_host seria armazenado, adicione uma versão local.ip.address do usuário "eu mesmo".

uma cópia do sshd poderia ajudar

    
por 08.08.2014 / 13:21

Tags