A conexão Ssh congela

4

Eu tenho um antigo sistema P4 que está executando o Ubuntu 11.04. A máquina está conectada à internet por meio de um adaptador sem fio USB e ela tem o openssh instalado, para que eu possa conectá-la a partir de outros computadores da minha rede. Meu problema é, alguns minutos depois de me conectar à máquina via ssh, a conexão ssh congela e não consigo fazer nada no terminal. Eu sei que o servidor ainda está conectado à rede sem fio, mas de alguma forma ele não responde ... a menos que eu solicite uma página da web ou qualquer outra coisa da internet na máquina do servidor. Quando a conexão ssh congela, eu uso a máquina do servidor para solicitar uma página da web usando wget, ela aguarda um pouco, depois faz o download da página e, em seguida, a conexão ssh congelada anteriormente começa a funcionar novamente.

Como uma solução temporária, na máquina servidor eu executo um script que solicita uma página web (via wget) periodicamente. Até agora, parece que esta solução funciona bem, mas não entendo porque a máquina está agindo dessa forma. Alguma idéia?

    
por blahbaa 03.06.2011 / 02:54

1 resposta

3

Você provavelmente precisará configurar seu SSH Keepalive para algo menor que um minuto (no lado do seu cliente).

Veja o arquivo / etc / ssh / ssh_config

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 is a Debian-specific compatibility alias for this option.

Sua necessidade de manter a conexão ativa indica que você precisa disso.

Para um melhor entendimento, consulte as Perguntas frequentes do OpenSSH ,
Particularmente, Minha conexão ssh congela ou cai após N minutos de inatividade .

This is usually the result of a packet filter or NAT device timing out your TCP connection due to inactivity. You can enable ClientAliveInterval in the server's sshd_config, or enable ServerAliveInterval in the client's ssh_config (the latter is available in OpenSSH 3.8 and newer).

Enabling either option and setting the interval for less than the time it takes to time out your session will ensure that the connection is kept "fresh" in the device's connection table.

Você também pode estar interessado na configuração TCPKeepAlive . (Eu não estou sugerindo que você a altere; apenas que você leu sobre isso também)

    
por 03.06.2011 / 09:28