Actualizado el domingo, 19 junio, 2016
La variable de entorno TMOUT nos permite definir el tiempo que queremos permitir a un usuario permanecer dentro de la shell o sesión SSH sin hacer nada (estado idle o inactivo). Por defecto no hay límite de tiempo por lo que un usuario podrá permanecer de forma indefinida conectado al sistema independientemente de que la sesión se esté utilizando o no.
Para configurar esta variable, simplemente la añadimos dentro de nuestro perfil de variables/configuraciones de bash /.bashrc. Conviene configurarla como read only para evitar que el propio usuario pueda modificarla:
# Establecemos en 2 minutos (120 segundos) el Timeout para la sesión bash/ssh TMOUT=120 readonly TMOUT
Refrescamos la shell o entramos y salimos para que sea efectivo:
$ bash
También podemos establecerla a tiempo real mediante export:
$ export TMOUT=120
Si dejamos la shell abierta durante 2 minutos sin realizar ninguna tarea automáticamente nos desconectará de la sesión:
$ timed out waiting for input: auto-logout
Otra forma sería a nivel del servicio openssh que sería mucho mejor cuando hay varios usuarios que se conectan y se establecería el timeout de inactividad para cualquier conexión que se establezca con el servidor. Para hacer esto editamos el fichero sshd_config en /etc/ssh y añadimos lo siguiente:
# nano /etc/ssh/sshd_config
Agregamos las siguientes:
ClientAliveInterval 300 ClientAliveCountMax 0
En el ejemplo 300 seg que son 5 min. Con esto logramos el mismo efecto anterior pero para cualquier conexión que de cualquier usuario que se establezca con el servidor.