Para diagnosticar, primeiro você tem que usar um modo verboso de putty.exe.
Abra o cmd e use:
putty.exe -v -ssh user@]host
O -v mostrará muito mais informações.
Para evitar conexões próximas, verifique suas configurações:
No PuTTY (Win): acesse as propriedades da sessão > conexão, e sob Envio de pacotes nulos para manter a sessão ativa, defina Segundos entre keepalives (0 para desligar) para, e. 300 (5 minutos).
No Linux (ssh): Para ativar o keep alive em todo o sistema:
- para todos os usuários: edite o / etc / ssh / ssh_config.
- apenas para você: edite ~ / .ssh / config.
Insira o seguinte:
Host *
ServerAliveInterval 300
ServerAliveCountMax 2
Você também pode fazer com que seu servidor OpenSSH mantenha todas as conexões com clientes adicionando o seguinte em / etc / ssh / sshd_config:
KeepAlive yes
ClientAliveInterval 300
ClientAliveCountMax 2
Essas configurações farão com que o cliente SSH ou servidor envie um pacote nulo para o outro lado a cada 300 segundos (5 minutos), e desista caso ele não receba nenhuma resposta após 2 tentativas, ponto no qual a conexão é provável ter sido descartado de qualquer maneira.
Na página do manual ssh_config:
ServerAliveCountMax Sets the number of server alive messages (see below) which may be sent without ssh(1) receiving any messages back from the server. If this threshold is reached while server alive messages are being sent, ssh will disconnect from the server, terminating the session. It is important to note that the use of server alive messages is very different from TCPKeepAlive (below). The server alive messages are sent through the encrypted channel and therefore will not be spoofable. The TCP keepalive option enabled by TCPKeepAlive is spoofable. The server alive mechanism is valuable when the client or server depend on knowing when a connection has become inactive.
The default value is 3. If, for example, ServerAliveInterval (see below) is set to 15 and ServerAliveCountMax is left at the default, if the server becomes unresponsive, ssh will disconnect after approximately 45 seconds. This option applies to protocol version 2 only; in protocol version 1 there is no mechanism to request a response from the server to the server alive messages, so disconnection is the responsibility of the TCP stack.
ServerAliveInterval Sets a timeout interval in seconds after which if no data has been received from the server, ssh(1) will send a message through the encrypted channel to request a response from the server. The default is 0, indicating that these messages will not be sent to the server, or 300 if the BatchMode option is set. This option applies to protocol version 2 only. ProtocolKeepAlives and SetupTimeOut are Debian-specific compatibility aliases for this option.