Secure Shell é um método de gerenciamento remoto de um computador ou servidor disponível para Linux, OS X e Windows. O tempo limite de uma sessão SSH de determinados intervalos, porque uma sessão SSH aberta e autônoma apresenta um risco de segurança. Se você ficar inativo por um determinado período de tempo, a conexão será encerrada e você será forçado a fazer login novamente. Esse tempo limite é definido pelas configurações de TCP do seu sistema, mas pode ser substituído nas configurações do servidor ou nas configurações do cliente. Se você achar que sua conexão SSH atinge o tempo limite com muita frequência, você sempre pode editar sua configuração SSH para fornecer mais ou menos tempo inativo.
Tempo limite de TCP
O tempo limite do seu servidor é padronizado para o tempo limite do TCP do seu sistema. Isso ocorre porque os servidores SSH são configurados automaticamente para usar o TCPKeepalive, que envia uma sonda em um horário predefinido quando o sistema está ocioso para verificar se a conexão ainda está lá. Esse padrão varia dependendo do seu sistema. Alguns sistemas usam um padrão tão baixo quanto cinco segundos, e alguns chegam a duas horas; a média é tipicamente em torno de três a cinco minutos. Sua conexão SSH, se não tiver sido modificada para alterar o tempo limite no servidor ou no cliente, usará esse tempo limite. As configurações no servidor ou cliente substituirão esse tempo limite.
Configurações de tempo limite do servidor
Editar o tempo limite do arquivo sshd_config alterará as opções de tempo limite para cada cliente que efetuar logon no servidor. Os administradores do sistema podem acessar este arquivo em /etc/ssh/sshd_config. Se você estiver usando um terminal e estiver confortável com um editor de terminal, poderá editá-lo inteiramente no terminal digitando "sudo nano /etc/ssh/sshd_config". Adicione a opção "ClientAliveInterval" que informa ao servidor para enviar um pacote de dados ao cliente para verificar a atividade. Você deve considerar adicionar "ClientAliveCountMax" também; isso diz ao servidor quantas vezes ele deve verificar sem obter uma resposta. Não coloque um sinal de libra na frente deles; linhas com sinais de sustenido na frente delas são consideradas comentários e não são opções ativas no servidor. Por exemplo, se você quiser definir seu ClientAliveInterval para cinco minutos e seu ClientAliveCountMax para dois, pode ficar assim:ClientAliveInterval 300ClientAliveCountMax 2
Tempo limite com base no cliente
Se você estiver usando um cliente como o Putty, poderá alterar o tempo limite clicando na opção "Conexão" na barra lateral e preencher seu tempo preferido na caixa de texto ao lado de "Segundos entre Keepalives" em segundos. Isso deve se basear inteiramente em quanto tempo você acha que ficará inativo entre as atividades. You can also change this manually by opening your client-side setting files at /etc/ssh/ssh_config – note the difference between the server file "sshd_config". Add the setting "ServerAliveInterval" and set in seconds how often you want to the client to send packets to keep the connection active.
Risks of Changing Timeout
Obviously changing timeout is a matter of convenience – it allows you to multitask without having to frequently renew your login to your SSH server. However, this means that you need to remain more vigilant at your desktop. If you walk away from your computer with an SSH connection open, anyone can sit down and access your server. While leaving an SSH connection open for home use is less concerning than when you're doing so for you, being in the habit of leaving your connection open can have quite horrible consequences in the wrong hands.