Sim. Configure o SSH para enviar pacotes keepalive .
A máquina Solaris na qual fazemos a maior parte do nosso desenvolvimento tem o hábito incômodo de distribuir o tempo das sessões SSH. Não importa se o cliente é meu desktop Ubuntu, minha área de trabalho Solaris ou minha área de trabalho do Windows (massa); o fator comum é a grande máquina Solaris.
Existe algo que eu possa fazer para impedir que isso aconteça? É irritante quando você faz uma pausa para o almoço e as sessões de terminal que você abriu e delicadamente configuradas estão todas congeladas, então você precisa matar todas elas e restabelecer todo o seu contexto.
Sim. Configure o SSH para enviar pacotes keepalive .
Descobri que o comportamento keepalive não funcionou bem. Eu tentei adicionar o ServerAliveInterval ao script ~ / .ssh / config, mas ele não funciona bem com o git.
O que acabei fazendo é adicionar um timestamp à minha barra de status 'screen'. Isso é atividade suficiente para manter a conexão.
Você também pode configurar o Putty para enviar pacotes keep alive.
Em Configurações, Conexão, Segundos entre keepalives.
Primeiro, você precisa determinar se é o seu shell que está desconectando você ou o ssh. Para testar, ssh em sua máquina remota e vi ou menos um arquivo.
Se muito tempo depois você ainda pode se mover menos / vi, então o ssh está bem. Nesse caso, determine qual shell você está usando e desative o tempo limite. É mais provável que o shell esteja sincronizando você e não o SSH. No entanto, alguns firewalls fecharão as sessões ociosas se os alertas não forem enviados.
O administrador do Solaris pode impedir que você desative o tempo limite no seu shell, tornando a configuração somente leitura. Isso é improvável, mas é possível. Geralmente você pode contornar isso usando um shell diferente.
Se você tiver problemas para reconfigurar o seu shell novamente, você pode usar a tela GNU. Se a sua sessão SSH expirar, basta fazer login novamente e reconectar e seu shell será exatamente como estava.
Se você executar o tcsh na máquina Solaris, a variável autologout poderá ser definida. Se você definir isso como 0 (defina autologout = 0) ou desmarque-o (desabilitar autologout), ele irá parar de desconectá-lo.
Isso pode ser um arenque vermelho, mas tente
unset TMOUT
no seu prompt de shell. Isso certamente funcionou para mim no passado, mas não me lembro se está restrito a certas arquiteturas (ou shells).
Digite seu perfil de shell
export TMOUT=0
export TIMEOUT=0
Você pode executar top
em outro terminal? Isso deve gerar tráfego regular?
Sempre tive sucesso com o 'ClientAliveInterval 300' em servidores linux / bsd.
Verifique sua configuração sshd
de linhas como estas em /etc/ssh/sshd_config
:
ClientAliveInterval 600
ClientAliveCountMax 0