Como finalizar uma sessão ssh interativa após certo período de tempo

2

No meu arquivo /etc/ssh/sshd_config , defini os parâmetros abaixo:

ClientAliveInterval 10
ClientAliveCountMax 3

Agora da máquina host, eu fiz ssh para o meu servidor (onde fiz alterações no arquivo /etc/ssh/sshd_config ). Depois disso, reiniciei os ssh sevices executando:

/etc/init.d/sshd reload

Espero que a conexão ssh seja desconectada após 30 segundos, mas ela permanece ativa por quase uma hora agora.

Alguém pode me dizer o que está errado aqui?

Estou usando o OpenSSH versão 6.1.

    
por Rajan Pathak 05.12.2013 / 11:35

1 resposta

1

Eu não acho que você consiga o que deseja usando as configurações do ssh. As configurações de ClientAlive* são destinadas a quando a conexão entre o cliente ssh e o servidor ssh não responde, por quanto tempo um dos lados deve esperar (estes são obviamente os tempos limite do cliente).

Em vez disso, eu usaria a variável de ambiente $TMOUT do Bash para fazer com que o shell fosse desconectado após um período de tempo definido.

TMOUT  If  set  to  a  value greater than zero, TMOUT is treated as the 
       default timeout for the read builtin.  The select command terminates 
       if input does not arrive after TMOUT seconds when input is  coming  
       from  a  terminal.   In  an interactive  shell,  the value is 
       interpreted as the number of seconds to wait for input after issuing 
       the primary prompt.  Bash terminates after waiting for that number of 
       seconds if input does not arrive.

Referências

por 05.12.2013 / 13:14

Tags