Temos um servidor XXX no Amazon EC2.
O SSH está sendo executado em uma porta padrão (22).
Coloquei minha pubkey no arquivo /.ssh/authorized_keys
O engraçado é que, ontem, estava funcionando muito bem!
Mas hoje eu não sei o que aconteceu! Eu simplesmente não consigo entrar.
ssh -vvvv servername
está preso
debug1: esperando SSH2_MSG_KEX_DH_GEX_REPLY
Eu chequei meu pubkey e está lá! (como eu verifiquei ?? pedi ao outro cara para verificar)
e então eu usei outro computador (windows 7 + putty) e coloquei meu novo pubkey. E o que? Eu consegui entrar! E esse é outro computador com o Win7 na mesma LAN, o que significa que o IP externo é o mesmo.
Minha chave privada funciona para outros servidores, mas não com isso.
Por favor ajude!
linux
security
ssh
amazon-ec2
bakytn
fonte
fonte
SSH2_MSG_KEX_DH_GEX_REPLY
) acontece muito antes na conexão.Respostas:
Mude a interface de rede MTU para resolvê-lo. Este é um erro do ubuntu 14.04.
Isso funcionou para mim:
OU
O ssh falha ao conectar-se ao host VPN - trava em 'expecting SSH2_MSG_KEX_ECDH_REPLY'
fonte
sudo ip li set mtu 1400 dev eno1
funcionou para mim no Ubuntu 16.04.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 alterar o MTU, a conexão ssh funciona por 1-3 semanas e, em seguida, aparece exatamente o mesmo bug, bloqueando o KEXINIT, não é mais possível conectar o servidor ssh.
Pode ser algum tipo de bug do sshd, mas é necessariamente acionado por algumas coisas novas ocorrendo após 1-3 semanas. Reproduzi esse problema exato muitas vezes com muitos servidores diferentes nesta rede, alguns dizem que pode estar relacionado a um bug da Cisco, possivelmente relacionado a algumas opções de DPI.
Esse problema nunca aconteceu com outros servidores que eu gerencio em outros datacenters e que possuem exatamente a mesma distribuição, configuração e versão sshd.
se você não quiser reiniciar a cada 10 dias, porque os firewalls do datacenter (ou outros ajustes na rede) estão fazendo coisas estranhas:
primeiro conecte-se a uma dessas soluções alternativas do lado do cliente:
solução alternativa 1, diminuindo sua MTU local do lado do cliente:
(1400 deve ser suficiente, mas você pode tentar usar valores mais baixos, se necessário)
solução alternativa 2, especificando o código escolhido para a conexão ssh:
(ou tente com qualquer outro código disponível)
Ambas as soluções do lado do cliente foram feitas para mim; eu poderia conectar e economizar meu tempo de atividade; mas você deseja corrigir esse lado do servidor para sempre, para que não precise pedir a todos os clientes para ajustar localmente sua MTU.
No gentoo, acabei de adicionar:
em /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 é suficiente na maioria dos casos.
outra solução alternativa 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 OUTPUT -p tcp --tcp-flags SYN, RST SYN -j TCPMSS --clamp-mss-to-pmtu
(mas eu pessoalmente não precisava deste até agora)
Observe também que os sintomas desse problema também podem ser:
não apenas
editar março de 2016:
abaixar 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 abaixar o mtu para 1400.
O problema também apareceu nos formulários de logon da web, aguardando o recarregamento da página até dizer "o servidor redefiniu a conexão", também corrigido após o cliente definir o mtU para 1400.
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1254085
http://www.held.org.il/blog/2011/05/the-myterious-case-of-broken-ssh-client-connection-reset-by-peer/
https://nowhere.dk/articles/natty-narwhal-problems-connecting-to-servers-behind-cisco-firewalls-using-ssh
/programming/2419412/ssh-connection-stop-at-debug1-ssh2-msg-kexinit-sent
http://www.1-script.com/forums/ssh/ssh-hang-after-ssh2-msg-kexinit-sent-10616-.htm
http://www.snailbook.com/faq/mtu-mismatch.auto.html
fonte
No meu caso, não tenho permissão para diminuir o tamanho da MTU. E especificar manualmente a cifra não funciona.
Sou capaz de conectar depois de diminuir a lista de MACs, especificando uma, por exemplo:
fonte
Eu tive o mesmo problema depois de atualizar minha máquina cliente Ubuntu. Resolvi meu problema reduzindo o tamanho da linha "Cifras" em / etc / ssh / ssh_config. Também funciona se você especificar o código na linha de comando (ex: ssh -c nome de usuário @ nome do host)
Dica daqui:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/708493/comments/39
fonte
Comecei a ter esse problema hoje, no Windows (ssh distribuído com Git) e no Ubuntu.
Parece ser um bug no OpenSSH, existe um problema no LauchPad .
Funcionou para mim no Windows, forçando a cifra 3des-cbc e a chave no Ubuntu.
fonte
Alterar o KexAlgorithm funcionou para mim e pode ser uma opção em que você não tem os direitos do sistema para alterar as configurações da MTU. Esse também pode ser um problema para a equipe do OpenSSH. por exemplo
fonte
resolvemos comentando a linha Ciphers em / etc / ssh / ssh_config
fonte
Parece claro que o diálogo de opções causa um problema, porque alterei a ordem em que Putty negocia a troca de chaves e o problema resolvido.
fonte
cmiiw
verifique sua permissão ~ / .ssh / allowed_keys, deve ser 600
verifique em / var / log / secure, / var / log / messages ou / var / log / auth
fonte
authorized_keys
permissão não tem nada a ver com o erro, pois o cliente está preso durante a negação de protocolo anterior. Verificar os logs do servidor pode ajudar, mas esta linha é um comentário - com voto negativo.