Es gibt zwei Optionen in Bezug auf ssh-Inaktivität in /etc/ssh/sshd_config Datei:
ClientAliveInterval ClientAliveCountMax
Der Timeout-Wert wird also berechnet, indem ClientAliveInterval mit ClientAliveCountMax multipliziert wird.
timeout interval = ClientAliveInterval * ClientAliveCountMax
Die Bedeutung der beiden Parameter kann der Manpage von sshd_config entnommen werden :
# 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.
Es gibt 2 Methoden, um das Inaktivitäts-Timeout zu konfigurieren. In diesem Beitrag konfigurieren wir beispielsweise ein automatisches Abmeldeintervall von 10 Minuten.
Methode 1
1.Konfigurieren Sie den Timeout-Wert in der Datei /etc/ssh/sshd_config mit den folgenden Parameterwerten.
# vi /etc/ssh/sshd_config ClientAliveInterval 5m # 5 minutes ClientAliveCountMax 2 # 2 times
2. Starten Sie den ssh-Dienst neu, nachdem Sie die Werte festgelegt haben.
# service sshd restart
Dadurch würde das Sitzungs-Timeout 10 Minuten betragen, da der ClientAliveCountMax-Wert mit dem ClientAliveInterval-Wert multipliziert wird.
Methode 2
1. Sie können den ClientAliveCountMax-Wert auf 0 und den ClientAliveInterval-Wert auf 10m setzen, um dasselbe zu erreichen.
# vi /etc/ssh/sshd_config ClientAliveInterval 10m # 10 minutes ClientAliveCountMax 0 # 0 times
2. Starten Sie den ssh-Dienst neu, nachdem Sie die Werte festgelegt haben.
# service sshd restart
Unterschied zwischen Methode 1 und Methode 2
Es gibt einen kleinen Unterschied zwischen diesen beiden Methoden. Bei der ersten Methode sendet sshd Nachrichten, hier Client Alive Messages genannt, über den verschlüsselten Kanal, um eine Antwort vom Client anzufordern, wenn der Client fünf Minuten lang inaktiv ist. Der sshd-Daemon sendet diese Nachrichten maximal zweimal. Wenn dieser Schwellenwert erreicht wird, während Client-Alive-Nachrichten gesendet werden, trennt sshd den Client.
Aber bei der zweiten Methode sendet sshd keine Client-Alive-Meldungen und beendet die Sitzung direkt, wenn der Client 10 Minuten lang inaktiv ist.