O servidor SSH do meu ISP (Debian 2.0) faz logout após 35 minutos de inatividade, quando conectado ao PuTTY (Windows XP). Este é um grande problema quando utilizo o servidor para encaminhamento de porta. As mensagens finais exibidas no terminal:
This terminal has been idle 30 minutes. If it remains idle
for 5 more minutes it will be logged out by the system.
Logged out by the system.
Opções PuTTY que fazem não Socorro:
- Envio de pacotes nulos para manter a sessão ativa. Segundos entre keepalives (0 para desligar): 30
- [x] Ativar keepalives TCP (opção SO_KEEPALIVE)
Alguma idéia de como evitar o logout automático? Devo tentar outro cliente SSH?
Respostas:
Quando você precisar apenas de encaminhamento de porta, poderá tentar desativar o início de um shell e desabilitar a alocação de um pseudo-terminal. Então o terminal não pode mais ficar inativo.
:-)
Se o seu ISP não permitir isso, você pode executar um script como este em sua sessão do shell
para que o terminal mostre a atividade e não seja desconectado.
Mas isso depende do sistema operacional que eles estão usando, que opção ajudará. Você não nos contou, não é?
uname -a
é seu amigo.fonte
Qual shell você está usando no servidor?
Você pode tentar efetuar login sem um shell, marcando
Connection
→SSH
→Don't start a shell or command at all
ou você pode tentar executar um shell diferente e garantir que ele não tenha um recurso de logout automático ativado.Por exemplo, tente executar
tcsh
e garantir queautologout
não está definido, executandounset autologout
.fonte
bash
. Não alocar um pseudo-terminal, como sugerido por @mihi, faz o truque.Eu tenho um script AutoHotkey simples para lidar com qualquer sessão Telnet / SSH aberta no Windows. Pode ajudar alguém:
fonte
Parece que o servidor está impondo o tempo limite no nível do protocolo e explicitamente ignorando os pacotes nulos usados com freqüência para manter uma conexão ativa apesar desses tempos limite. Infelizmente isso significa que provavelmente há pouco que você pode fazer através das opções do cliente.
Você poderia tentar organizar algo na sessão para atualizar constantemente, talvez usando
screen
e organizando para um relógio de atualização para estar na barra de status como visto neste exemplo . Se a exibição do relógio não atualizar sem a entrada do usuário, você pode tentar dividir a sessão de tela (ctrl + a, ctrl + S), redimensionar a janela extra visível muito pequena (ctrl + a,: resize 2) e ter nessa quais atualizações automáticaswatch -n 10 date
por exemplo.fonte