GNU/Linux >> Linux の 問題 >  >> Linux

CentOS / RHEL :ssh 自動ログアウトのセッション アイドル タイムアウト (非アクティブ タイムアウト) を設定する方法

/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 はクライアントのアライブ メッセージを送信せず、セッションを直接終了します。


Linux
  1. CentOS/RHEL で SSH と SFTP 用に個別のポートを構成する方法

  2. CentOS/RHEL で Telnet セッションのデフォルトのタイムアウト設定を変更する方法

  3. CentOS/RHEL 5 で新規ユーザー用に VNC サーバーをセットアップする方法

  1. CentOS / RHEL :SSH ログインを時間帯で制限する方法

  2. Linux で「パスワードなし」の ssh ログイン用に SSH キーをセットアップする方法

  3. CentOS/RHEL で「パスワードレス」SSH ログイン用の SSH キーをセットアップする方法

  1. CentOS8でSSHキーを設定する方法

  2. 開いているリモート SSH セッションをログアウトするにはどうすればよいですか?

  3. SSH 接続からの短すぎる自動ログアウトに対するクライアント側の回避策はありますか?