Hay dos opciones relacionadas con la inactividad de ssh en /etc/ssh/sshd_config archivo:
ClientAliveInterval ClientAliveCountMax
Entonces, el valor del tiempo de espera se calcula multiplicando ClientAliveInterval con ClientAliveCountMax.
timeout interval = ClientAliveInterval * ClientAliveCountMax
El significado de los dos parámetros se puede encontrar en la página man de sshd_config :
# man sshd_config ClientAliveCountMax Sets the number of client alive messages (see below) which may be sent without sshd(8) receiving any messages back from the client. If this threshold is reached while client alive messages are being sent, sshd will disconnect the client, terminating the session. It is important to note that the use of client alive messages is very different from TCPKeepAlive (below). The client alive messages are sent through the encrypted channel and therefore will not be spoofable. The TCP keepalive option enabled by TCPKeepAlive is spoofable. The client alive mechanism is valuable when the client or server depend on knowing when a connection has become inactive. The default value is 3. If ClientAliveInterval (see below) is set to 15, and ClientAliveCountMax is left at the default, unresponsive SSH clients will be disconnected after approximately 45 seconds. This option applies to protocol version 2 only. ClientAliveInterval Sets a timeout interval in seconds after which if no data has been received from the client, sshd(8) will send a message through the encrypted channel to request a response from the client. The default is 0, indicating that these messages will not be sent to the client. This option applies to protocol version 2 only.
Existen 2 métodos para configurar el tiempo de espera de inactividad. Por ejemplo, en esta publicación configuraremos un intervalo de cierre de sesión automático de 10 minutos.
Método 1
1. Configure el valor de tiempo de espera en el archivo /etc/ssh/sshd_config con los valores de los parámetros a continuación.
# vi /etc/ssh/sshd_config ClientAliveInterval 5m # 5 minutes ClientAliveCountMax 2 # 2 times
2. Reinicie el servicio ssh después de configurar los valores.
# service sshd restart
Esto haría que el tiempo de espera de la sesión se agotara en 10 minutos, ya que el valor de ClientAliveCountMax se multiplica por el valor de ClientAliveInterval.
Método 2
1. Puede establecer el valor de ClientAliveCountMax en 0 y el valor de ClientAliveInterval en 10m para lograr lo mismo.
# vi /etc/ssh/sshd_config ClientAliveInterval 10m # 10 minutes ClientAliveCountMax 0 # 0 times
2. Reinicie el servicio ssh después de configurar los valores.
# service sshd restart
Diferencia entre el método 1 y el método 2
Hay una pequeña diferencia entre estos dos métodos. Para el primer método, sshd enviará mensajes, llamados Client Alive Messages aquí, a través del canal encriptado para solicitar una respuesta del cliente si el cliente está inactivo durante cinco minutos. El demonio sshd enviará estos mensajes como máximo dos veces. Si se alcanza este umbral mientras se envían los mensajes de Client Alive, sshd desconectará al cliente.
Pero para el segundo método, sshd no enviará mensajes activos al cliente y finalizará la sesión directamente si el cliente está inactivo durante 10 minutos.