我有一个小型局域网,可以ssh
在自带的WiFi 上-oServerAliveInterval=240
piggy 带,并且在OS X 和Windows 7 Professional上的PuTTY 0.62上使用,可以建立与我的Linode,Hetzner和其他服务器的连接。
使用PuTTY,我选择Connection
→ Sending of null packets to keep session active
到240。Enable TCP keepalives (SO_KEEPALIVE option)
默认情况下,该按钮为off。
当我的Internet暂时关闭大约一分钟(必须在强制门户上重新进行身份验证)时,PuTTY几乎总是会丢失我拥有的所有打开的ssh会话,尤其是那些进行任何活动但在OS X上使用OpenSSH的会话只要我的Internet在大约一两分钟内恢复,就不会丢失任何会话,即使我实际上尝试在ssh中键入内容,并且在整个60秒钟左右都看不到答复,直到我的连接再次恢复活动为止。(因此,我确定可以始终保留NAT状态。)
我可以阻止Windows / PuTTY抢先丢弃良好的连接吗?
在我看来,SO_KEEPALIVE或类似的东西实际上在Windows中默认情况下处于启用状态,并且检测陈旧连接的超时太小了。我想将其增加到几秒钟以上,就像OS X如何避免短暂的临时中断一样,只要中断只有几百秒且低于-oServerAliveInterval
(times ServerAliveCountMax
)的值。
mosh
是更好的选择。)