Ssh

ServerAliveInterval 的預設值是多少?

  • March 21, 2017

我正在使用亞馬遜 Linux,

[davea@mymachine ~]$ uname -a
Linux mymachine.mydomein.org 4.4.35-45.83.amzn1.x86_64 #1 SMP Wed Jul 27 22:37:49 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

在我的 /etc/ssh/sshd_config 中,我沒有為“ServerAliveInterval”設置值。在這個答案中 - sshd_config 中的 ServerAliveIntervalClientAliveInterval 選項到底是做什麼的?,他們說“將值設置為 0(預設值)將禁用這些功能,因此如果空閒時間過長,您的連接可能會斷開”。這意味著什麼?準確地說,如果送出此參數,連接將保持活動的預設時間量是多少?假設我在客戶端設置了“1000000000000”的值。

ServerAliveInterval的值表示“如果在此時間內沒有從伺服器接收到數據,則向伺服器發送 NULL 消息”。

類似地,ClientAliveInterval的意思是“如果在這段時間內沒有從客戶端接收到數據,則向客戶端發送 NULL 消息”。

預設值通常0表示禁用這些功能。

這樣做的主要用途是防止中間路由器和防火牆認為會話空閒並丟棄它。它對 ssh 伺服器本身沒有真正的影響。

例如,許多家庭 NATting 路由器會在一段時間後丟棄空閒會話(確切時間取決於您的路由器;我看到的值從 1 小時到超過 21 天)。通過設置,ServerAliveInterval您可以通過確保在路由器間隔內始終有一些流量來偽造路由器中的此空閒超時。

引用自:https://unix.stackexchange.com/questions/311152