Putty: 'Servidor encerrado inesperadamente na conexão de rede'


11

Putty 'Conexão de rede inesperadamente fechada do servidor' Estou obtendo a 'Conexão de rede inesperadamente fechada do servidor' (consulte /superuser/735824/putty-ends-to-an-unexpected-error-and-vnc- shows-terminal-with-error e Obtendo “Conexão de rede inesperadamente fechada do servidor” ), mas não está associado a nenhuma reinicialização, a conexão falha inesperadamente e, com ele, o servidor Web (Apache) executando o servidor Linux. Eu uso o Putty no Windows 7 para conectar-me a um Raspberry Pi executando o Raspbian. Alguma idéia do que pode estar errado?

Respostas:


13

Uma sessão PuTTY deixada inativa será desconectada em um horário determinado pelo servidor host. Tente ativar o keep-alives no PuTTY. Isso faz com que o PuTTY envie pacotes SSH nulos para o host remoto periodicamente, impedindo o tempo limite da sessão.

O cliente PuTTY pode ser configurado para estabelecer sempre uma conexão que não excederá o tempo limite devido à inatividade. Para criar e salvar uma nova conexão keep-alive, siga estas etapas:

  1. Abra o aplicativo PuTTY e vá para o painel Opções (rotulado "Categoria") à esquerda da janela.
  2. Selecione (clique) no item "Conexão".
  3. Na área "Envio de pacotes nulos para manter a sessão ativa" à direita, altere o valor padrão de "Segundos entre keepalives" de 0 (desativar) para 1800 (30 minutos).
  4. Marque a caixa de seleção "Ativar keepalives TCP (opção SO_KEEPALIVE)". Nota: Esta opção pode não estar disponível em versões mais antigas do cliente PuTTY.
  5. No lado superior esquerdo do painel Opções, selecione (clique) "Sessão".
  6. No campo "Nome do host (ou endereço IP)", digite o nome do host ou o endereço IP de destino (por exemplo, "destination.ipaddress.here.com" ou "192.168.1.1").
  7. Na caixa de entrada de texto "Sessões salvas", forneça um nome para a sessão (por exemplo, "sessão de salvamento").
  8. Selecione "Salvar".

Para usar as configurações de sessão modificadas, selecione-a na lista "Sessões salvas" e clique nos botões marcados "Carregar" e "Abrir".

Se suas sessões conectadas ainda expirarem, digite um número menor de segundos no valor "Segundos entre keepalives".


Isso também está incorreto. Uma conexão TCP nunca termina o tempo limite. Se o princípio de ponta a ponta for minado pelo NAT ou algo semelhante, os mapeamentos de conexão nesses dispositivos poderão expirar. O SSH, por padrão, nunca atinge o tempo limite. Em uma conexão adequada à Internet, uma conexão SSH ociosa permanecerá aberta indefinidamente.
Daniel B

O Ssh oferece dois tipos de manutenção: TCP manutenção e ssh manutenção. O TCP oferece um mecanismo para fechar automaticamente as conexões consideradas mortas devido ao tempo limite. Trata-se de ativar uma bandeira no soquete.
Raúl Salinas-Monteagudo

Reduzi o número e voltei a 0 e ainda não funcionou. Existe uma solução diferente para isso?
myselfmiqdad

1

O servidor poderia ter sido reforçado. O motivo pode ser: a) o IP do cliente pode não estar configurado em / etc / allowhosts e / ou b) regra de firewall unix / linux / selinux não está permitindo.


0

Eu tive o mesmo problema por um longo tempo, uso massa de vidraceiro para conectar-me a instâncias do AWS linux (alguns servidores remotos na nuvem).

E ontem, enquanto procurava algumas configurações do esquema de cores, encontrei o seguinte: https://github.com/jblaine/solarized-and-modern-putty

Além de ajustar as cores do terminal, ele aplica alguns padrões sãos (como o KeepAlives mencionado a 59 segundos e outros), e adivinhe? Eu não tenho nenhuma conexão fechada por dois dias inteiros.


-1

Você ficou inativo por mais tempo do que o tempo limite da sessão no dispositivo remoto; portanto, ele fechou a sessão e o PuTTy não esperava por isso.


1
Porém, não exatamente: se você se desconectar (ou se desconectar com força), a conexão será encerrada normalmente. O que aconteceu aqui é que a conexão TCP subjacente foi de alguma forma fechada ("Conexão redefinida pelo par"), portanto, "inesperadamente".
Daniel B

Onde você vê "redefinir"? Para mim, o significado óbvio de "fechado inesperadamente" não é esperado para o fechamento do TCP no nível SSH, e o teste confirma isso: se eu sair ou matar meu shell, recebo pacotes SSH de servidor (eu assino-me CHANNEL_EOF, CHANNEL_CLOSED e / ou DISCONNECT) e depois troca FIN e Putty aparece "fechado pelo host remoto"; OTOH, se eu matar -9 meu sshd, recebo apenas troca TCP FIN e "conexão de rede fechada inesperada do servidor". Se fosse RST (e não no SYN, onde isso significa recusado), eu suspeitaria de alguma caixa intermediária, consistente com seu outro comentário.
Dave_thompson_085 15/10

@ dave_thompson_085 Você está certo, eu confundi FIN e RST. Caso contrário, o KiTTY diz "O software causou a interrupção da conexão".
Daniel B
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.