web-dev-qa-db-ja.com

sshで未使用のセッションのタイムアウトを定義するにはどうすればよいですか?

私はUbuntu16.4でsshdを使用していますLTEそして、ユーザーが何もしないで接続しすぎたときに切断されるようにsshdを構成しようとしています。 sshサーバー。

1
junior_software

また、次のパラメータが/ etc/ssh/sshd_configでコメント解除されていることを確認してください

ClientAliveInterval 900
ClientAliveCountMax 0

そうでない場合、これも切断の原因になります。 (変更は、sshdを再起動した後、後で開いたセッションに対してのみ有効になります)。

4
tonioc

Sshdではなくシェルに実装することをお勧めします。

Advanced Bash-ScriptingGuideのセクション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 
2
Nils Magnus