sshdで未使用のセッションのタイムアウトを定義する方法は? [コピー]

sshdで未使用のセッションのタイムアウトを定義する方法は? [コピー]

sshd私はUbuntu 16.4 LTEでsshdを使用しており、ユーザーが何もせずに長すぎる場合は、sshサーバーによって切断されるようにシステムを設定しようとしています。

答え1

また、/etc/ssh/sshd_configから次のパラメータのコメントを削除してください。

ClientAliveInterval 900
ClientAliveCountMax 0

そうしないと、接続が切断される可能性があります。 (変更はsshdを再起動した後に適用され、その後に開かれたセッションにのみ適用されます。)

答え2

SSHDではなくShellでこれを行うことをお勧めします。

高度なBashスクリプトガイド、セクション9.1からの抜粋。内部変数:

$TMOUT

If the $TMOUT environmental variable is set to a non-zero
value time, then the shell prompt will time out after time
seconds. This will cause a logout.

ユーザーがこの変数を無効にするのを難しくするには、システム全体のログインスクリプトで読み取り専用に設定できますreadonly TMOUT=900

SSHセッションのタイムアウトのみが必要な場合は、条件付きに設定してください。たとえば、ディストリビューションにある場合は、/etc/profile.d次の場所に配置できます/etc/profile.d/ssh-timeout.sh

if [ "$SSH_CONNECTION" != "" ]; then
    readonly TMOUT=900    # a 15-minute timeout for SSH connections only
fi 

関連情報