Ubuntu Server セットアップ備忘録 (18) - SSH 接続が NAT に切られないようにする

Ubuntu2 から Ubuntu1 への SSH 接続が数時間経過後に切断されます。多分 NAT が勝手に切っているのだろうと思うので、対策して様子見します。
Debian の OpenSSH の独自拡張により、クライアント側の /etc/ssh/ssh_config に "ProtocolKeepAlives 60" と追記すると60秒毎にテストパケットが飛ぶようになるそうです。

追記:期待通り、これで勝手に切断されなくなりました。


追記:あるいはこれでも良いのか?(未検証)
http://openssh.comstyle.com/ja/faq.html#2.12
2.12 - なにもしないで N 分たつと ssh 接続が固まるか、切れるかするんだけど。
これはふつう、通信がないと TCP 接続をタイムアウトさせてしまうパケットフィルタか NAT デバイスの影響です。サーバ側の sshd_config にある ClientAliveInterval を許可するか、あるいはクライアント側の ssh_config にある ServerAliveInterval を許可してください。
上のいずれかのオプションを許可し、送信間隔をその接続のタイムアウト時間よりも短く設定することで、接続テーブル内でつねにその接続を「新鮮」に保つことができるようになります。
Google グループ
ClientAliveInterval 120
ClientAliveCountMax 60
KeepAlive yes ← これはデフォルトの「yes」に戻しました。
 
2分間隔で、クライアントが生きてるかのチェック。カウントをインクリ
メントする。その間通信があれば、カウントは常時リセットされる。逆に、
通信のないままそのカウントが60になったら接続を解除、というわけです
ね。これで理論上120s×60=2時間接続が継続されるようになったはず。

参考: