terça-feira, 1 de março de 2016

Como desativar tempo limite (KeepAlive) do SSH.

conexões SSH inativas ou ociosas são normalmente desconectado pelo servidor depois de um certo período de tempo. Isso depende de como o servidor SSH está configurado. Isso poderia ser evitado alterando a configuração do servidor SSH, ou enganando o servidor a partir do cliente SSH.

Cliente SSH.
Este é provavelmente o método mais fácil, uma vez que não necessita de root ou administrador de acesso ao servidor e pode ser aplicado a todas as conexões SSH em vez de apenas a um servidor específico.

O que vai acontecer é manter basicamente a conexão ativa mesmo se o usuário é realmente ocioso. Isso poderia ser feito usando a ServerAliveInterval opção onde o cliente SSH irá enviar um pacote nulo para o servidor durante um determinado período de tempo apenas para manter a conexão ativa.

A opção seguinte irá enviar o pacote a cada 100 segundos; 
 
ServerAliveInterval 100

Em Linux isto pode ser definido globalmente no "/etc/ssh/ssh_config" ou por usuário em "~/.ssh/config". Também poderia ser usado na linha de comando como um argumento como no exemplo a seguir;
 
# ssh -o ServerAliveInterval = 100 user@example.com

Servidor SSH
Com acesso de "administrador/root", a opção pode apenas ser desativada no servidor. Defina as opções relacionadas no arquivo de configuração do "SSHD GLOBAL" com as opções seguintes, e reinicie o serviço SSHD. 
 
ClientAliveInterval 30 
TcpKeepAlive sim 
ClientAliveCountMax 99999


No Linux, "/etc/ssh/sshd_config" normalmente é o arquivo de configuração e o serviço pode normalmente ser reiniciado através do seguinte comando; 
 
# sudo service sshd restart

Nenhum comentário:

Postar um comentário