/etc/ssh/sshd_config には、ssh の非アクティブに関連する 2 つのオプションがあります。 ファイル:
ClientAliveInterval ClientAliveCountMax
そのため、タイムアウト値は、ClientAliveInterval に ClientAliveCountMax を掛けて計算されます。
timeout interval = ClientAliveInterval * ClientAliveCountMax
2 つのパラメータの意味は、sshd_config の man ページにあります。 :
# 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.
非アクティブ タイムアウトを設定するには、2 つの方法があります。たとえば、この投稿では、自動ログアウト間隔を 10 分に設定します。
方法 1
1. /etc/ssh/sshd_config ファイルで、以下のパラメーター値を使用してタイムアウト値を構成します。
# vi /etc/ssh/sshd_config ClientAliveInterval 5m # 5 minutes ClientAliveCountMax 2 # 2 times
2. 値を設定したら、ssh サービスを再起動します。
# service sshd restart
これにより、ClientAliveCountMax 値が ClientAliveInterval 値で乗算されるため、セッションは 10 分でタイムアウトになります。
方法 2
1. ClientAliveCountMax 値を 0 に、ClientAliveInterval 値を 10m に設定して、同じことを達成できます。
# vi /etc/ssh/sshd_config ClientAliveInterval 10m # 10 minutes ClientAliveCountMax 0 # 0 times
2. 値を設定したら、ssh サービスを再起動します。
# service sshd restart
方法 1 と方法 2 の違い
この 2 つの方法には少し違いがあります。最初の方法では、クライアントが 5 分間アクティブでない場合、sshd は暗号化されたチャネルを介してクライアント アライブ メッセージと呼ばれるメッセージを送信し、クライアントからの応答を要求します。 sshd デーモンは、これらのメッセージを最大 2 回送信します。クライアント アライブ メッセージの送信中にこのしきい値に達すると、sshd はクライアントを切断します。
ただし、2 番目の方法では、クライアントが 10 分間アクティブでない場合、sshd はクライアントのアライブ メッセージを送信せず、セッションを直接終了します。