Linux

SSH 會話不活動配置?

  • May 2, 2016

我試圖將確切的選項或選項組合歸零,這將強制每個 SSH 會話在指定時間不活動時終止。我正在使用 Putty SSH 到 RHEL AS3 伺服器;對於 Putty,keepalive 設置為“關閉”(0),並且 keepalive 在 ssh_config 和 sshd_config 文件中被註釋掉。

我已經Google反彈到不同的地方,我在 ServerFault 上發現了一些花絮,但我希望找到一個“具體”的解決方案。我嘗試通過添加以下內容來修改 /etc/ssh/sshd_config 文件:

ClientAliveInterval 15 ClientAliveCountMax 1

(設置為 15 秒進行測試)

然後重新啟動SSH:

/sbin/service sshd 重啟

但沒有運氣;會話從未超時(23 分鐘後檢查)。我還嘗試修改“keepalive”核心參數:

% echo “60” > /proc/sys/net/ipv4/tcp_keepalive_time (預設為 7200)

% echo “1” > /proc/sys/net/ipv4/tcp_keepalive_probes (預設為 9)

% echo “5” > /proc/sys/net/ipv4/tcp_keepalive_intvl(預設為 75)

但是會話仍然處於活動狀態(8 分鐘後檢查回來)。任何有關我缺少​​哪一塊拼圖的幫助將不勝感激。謝謝!

— DT

export TMOUT=3600在 ~/.bashrc 中使用 1 小時後關閉非活動會話。

您設置的大部分內容看起來都是 tcp 設置。您需要告訴您的外殼程序將您註銷。關於設置 TMOUT=3600 一個小時的評論是我打分的。您可能希望將其放入全域配置文件 ( /etc/profile)

tcp keepalives 都與發送數據包的頻率有關,以保持 tcp 會話處於活動狀態。例如,如果一分鐘內沒有流量並且 tcp keep alive 設置為 60 秒,則將發送一個 keep alive 數據包以保持會話處於活動狀態。這是對各種 tcp 變數的合理描述

引用自:https://serverfault.com/questions/44824