キャプティブWiFiに便乗する小さなローカルネットワークがあり、Windows 7 Professionalのssh
OS X -oServerAliveInterval=240
およびPuTTY 0.62でLinode、Hetzner、およびその他のサーバーへの接続を確立するために使用しています。
PuTTYでは、Connection
→→ Sending of null packets to keep session active
240 を選択しますEnable TCP keepalives (SO_KEEPALIVE option)
。デフォルトではオフになっています。
インターネットが一時的に約1分間ダウンすると(キャプティブポータルで再認証する必要があります)、PuTTYはほとんどの場合、開いているすべてのsshセッションを失います。実際にsshで何かを入力しようとしても、接続が再びアクティブになるまで60秒ほど応答がない場合でも、インターネットが1〜2分以内に回復する限り、セッションが失われることはありません。(だから私は、NAT状態が常に保存されることを確信しています。)
Windows / PuTTYが適切な接続を先制的に破棄するのを停止できますか?
WindowsではSO_KEEPALIVEなどがデフォルトで実際にオンになっており、古い接続を検出するためのタイムアウトが小さすぎるように思えます。停止がほんの数百秒で値-oServerAliveInterval
(times ServerAliveCountMax
)を下回っている限り、OS Xがこれらの一時的な一時的な停止の影響を受けないように、数秒以上に増やしたいと思います。
mosh
は別として、これらの場合には、より良い代替手段です。)