Existují dvě možnosti související s nečinností ssh v /etc/ssh/sshd_config soubor:
ClientAliveInterval ClientAliveCountMax
Hodnota časového limitu se tedy vypočítá vynásobením ClientAliveInterval a ClientAliveCountMax.
timeout interval = ClientAliveInterval * ClientAliveCountMax
Význam těchto dvou parametrů lze nalézt v manuálové stránce 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.
Existují 2 způsoby, jak nakonfigurovat časový limit nečinnosti. Například v tomto příspěvku nastavíme interval automatického odhlášení 10 minut.
Metoda 1
1. Nakonfigurujte hodnotu časového limitu v souboru /etc/ssh/sshd_config pomocí níže uvedených hodnot parametrů.
# vi /etc/ssh/sshd_config ClientAliveInterval 5m # 5 minutes ClientAliveCountMax 2 # 2 times
2. Po nastavení hodnot restartujte službu ssh.
# service sshd restart
Tím by časový limit relace vypršel za 10 minut, protože hodnota ClientAliveCountMax je vynásobena hodnotou ClientAliveInterval.
Metoda 2
1. Můžete nastavit hodnotu ClientAliveCountMax na 0 a hodnotu ClientAliveInterval na 10 m, abyste dosáhli stejné věci.
# vi /etc/ssh/sshd_config ClientAliveInterval 10m # 10 minutes ClientAliveCountMax 0 # 0 times
2. Po nastavení hodnot restartujte službu ssh.
# service sshd restart
Rozdíl mezi metodou 1 a metodou 2
Mezi těmito dvěma metodami je malý rozdíl. U první metody bude sshd odesílat zprávy, zde nazývané Client Alive Messages, prostřednictvím šifrovaného kanálu, aby si vyžádal odpověď od klienta, pokud je klient pět minut neaktivní. Démon sshd odešle tyto zprávy maximálně dvakrát. Pokud je tohoto prahu dosaženo během odesílání zpráv Client Alive, sshd odpojí klienta.
Ale pro druhou metodu sshd nepošle klientovi živé zprávy a ukončí relaci přímo, pokud je klient neaktivní po dobu 10 minut.