Linuxで非アクティブまたはアイドル状態のSSH接続を切断する方法


前回の記事では、アクティビティがない場合に TMOUT シェル変数を使用してLinuxシェルを自動ログアウトする方法について説明しました。この記事では、Linuxで非アクティブまたはアイドル状態のSSHセッションまたは接続を自動的に切断する方法について説明します。

これは、SSHサービスを攻撃の可能性から保護し保護するためのいくつかの方法のうちの1つにすぎません。セキュリティを強化するために、Linuxの特定のIPおよびネットワーク範囲へのSSHおよびFTPアクセスをブロックすることもできます。

Linuxでの非アクティブSSHセッションの自動切断

アイドル状態のSSHセッションを自動切断するには、これらのsshd設定オプションを使用できます。

  • ClientAliveCountMax – defines the number of messages (client alive messages) sent to the ssh client without sshd receiving back messages from the client. Once this limit is reached, without the client responding, sshd will terminate the connection. The default value is 3.
  • ClientAliveInterval – defines a timeout interval (in seconds) after which if no message has been received from the client, sshd will send a message to the client requesting it to response. The default is 0, meaning that these messages will not be sent to the client.

設定するには、メインのSSH設定ファイル/etc/ssh/sshd_config を選択したエディタで開きます。

# vi /etc/ssh/sshd_config

次の2行を追加すると、約 3 分後にクライアントが切断されます。つまり、 60 秒ごとにクライアントアライブメッセージが送信され(合計3つのクライアントアライブメッセージが送信されます)、 3 * 60 = 180 秒(<強い> 3分)。

ClientAliveInterval 60
ClientAliveCountMax 3

変更を加えたら、必ず SSH サービスを再起動して新しい変更を有効にしてください。

# systemctl restart sshd   [On Systemd]
# service sshd restart     [On SysVinit]

それで全部です!以下は、役に立つSSHガイドの一覧です。

  1. How to Configure Custom SSH Connections to Simplify Remote Access
  2. ssh_scan – Verifies Your SSH Server Configuration and Policy in Linux
  3. Restrict SSH User Access to Certain Directory Using Chrooted Jail

セキュリティ上の理由から、アクティブでないSSHセッションを自動的に切断することが絶対に必要です。考えを共有したり質問をしたりするには、以下のコメントフォームを使用してください。