O mesmo problema exato aqui para acessar um servidor dedicado no datacenter online.net.
Não há problema após uma reinicialização, não há necessidade de mudar MTU, a conexão ssh funciona por 1-3 semanas, então aparece exatamente esse mesmo bug, bloqueando o KEXINIT, não é mais possível conectar o servidor ssh.
Poderia ser algum tipo de bug sshd, mas é necessariamente desencadeada por alguma coisa nova acontecendo depois de 1-3 semanas, eu reproduzi esse problema exato muitas vezes com muitos servidores diferentes nesta rede, alguns dizem que isso poderia estar relacionado a um bug do Cisco, possivelmente relacionado com algumas opções de DPI.
Esse problema nunca aconteceu com outros servidores que eu gerencio em outros datacenters, e que têm exatamente a mesma distro, config e versão sshd.
se você não quiser reinicializar a cada 10 dias porque os firewalls de datacenter (ou outros ajustes de rede) estão fazendo coisas estranhas:
conecte-se primeiro a uma dessas soluções alternativas do lado do cliente:
solução alternativa 1, reduzindo seu MTU local do lado do cliente:
ip li set mtu 1400 dev wlan0
(1400 deve ser o suficiente, mas você pode tentar usar valores mais baixos, se necessário)
solução 2, especificando o cypher escolhido para a conexão ssh:
ssh -c [email protected] host
(ou tente com qualquer outro cypher disponível)
Ambas as soluções do lado do cliente fizeram isso para mim, eu poderia conectar e salvar meu tempo de atividade; mas você quer consertar este lado do servidor, para sempre, então você não precisa pedir a cada cliente para ajustar localmente o seu MTU.
No gentoo, acabei de adicionar:
mtu_eth0="1400"
no /etc/conf.d/net
(a mesma opção mtu deve estar disponível em algum lugar no seu arquivo de configuração de rede de distribuição preferido)
Eu configurei o mtu para 1400, mas 1460 provavelmente é o suficiente na maioria dos casos.
outra solução auxiliar poderia ser usar as seguintes regras do iptables para gerenciar a fragmentação:
# / sbin / iptables -I OUTPUT -p tcp --tcp-flags SYN, RST SYN -j TCPMSS --clamp-mss-to-pmtu
# / sbin / ip6tables -I SAÍDA -p tcp --tcp-flags SYN, RST SYN -j TCPMSS --clamp-mss-to-pmtu
(mas eu pessoalmente não precisava disso até agora)
observe também que os sintomas desse problema também podem ser:
debug1: SSH2_MSG_KEXINIT sent
não apenas
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
editar março de 2016:
-
diminuir o mtu para 1400 no servidor quase sempre funciona, mas recentemente tive o caso em que o mtu já estava reduzido para 1400 no servidor e o problema reapareceu, e o cliente também teve que baixar mtu para 1400.
-
O problema também apareceu em formulários de login da web esperando que a página fosse recarregada até dizer "o servidor reinicializou a conexão", também corrigido depois que o cliente definiu o mtU para 1400.
related links :
link
link
link
link
link
link