Como definir um tempo limite para sessões não utilizadas no sshd? [duplicado]

0

Estou usando o sshd no Ubuntu 16.4 LTE e estou tentando configurar meu sshd para que, quando um usuário estiver conectado por muito tempo sem fazer nada, ele seja desconectado pelo servidor ssh.

    
por junior_software 12.03.2018 / 16:49

2 respostas

2

Além disso, certifique-se de que os seguintes parâmetros não tenham sido comentados em / etc / ssh / sshd_config

ClientAliveInterval 900
ClientAliveCountMax 0

Se não, isso também causará desconexão. (As alterações entrarão em vigor depois que você reiniciar o sshd e somente nas sessões abertas posteriormente).

    
por 12.03.2018 / 17:19
2

Sugiro implementar isso no shell, não no sshd.

Do Guia Avançado de Roteiro de Script, seção 9.1. Variáveis Internas:

$TMOUT

If the $TMOUT environmental variable is set to a non-zero
value time, then the shell prompt will time out after time
seconds. This will cause a logout.

Para dificultar a desconfiguração da variável pelo usuário, defina-a em um script de login em todo o sistema e torne-a somente leitura, por exemplo, readonly TMOUT=900 .

Se você quiser apenas o tempo limite para sessões SSH, torne-o condicional. Por exemplo, se sua distribuição tiver /etc/profile.d , você poderá colocar isso em /etc/profile.d/ssh-timeout.sh :

if [ "$SSH_CONNECTION" != "" ]; then
    readonly TMOUT=900    # a 15-minute timeout for SSH connections only
fi 
    
por 12.03.2018 / 17:01