前触れもなくSSHが切れる

VPS等にSSHで接続していると、反応がなくなり切れてしまう
症状が出ながらも、長いことマトモに対策していなかった
使用していたSSHクライアントは Poderosa

当初、何かのタイムアウトにかかってると考えていたが、30分問題なかったり、1分でダメになったりと、切断のタイミングにばらつきが多く、結局クライアントとの相性?仕様?にたどり着く


VPS(サーバ)側のログを確認
通常の切断と同じように記録されている


VPS(サーバ)側の sshd_config
-----------------------
ClientAliveInterval 60
ClientAliveCountMax 3
-----------------------
みたいな設定を入れる → 症状改善されず


クライアント(Poderosaで)
Keepalive を 60秒でオンにする → 症状改善されず


クライアント側ルータのNATテーブル
※NATのTTLは 900秒、切断後は 60秒
(NATテーブルには余裕がある状態)

ヤマハのルータなので
-----------------------
# show nat descriptor address
-----------------------
なんかで、NATテーブルの残り時間なんかを監視してみる

VPS の ClientAliveInterval をデフォルトの 0(送信しない)
クライアント(Poderosa)の KeepAlive をオフに設定
データのやりとりがある毎にTTLがリセットされ 900秒に戻るものの、なんの前触れもなく応答が無くなり、NATテーブルは切断後の 60秒からカウントダウン

これは、単にクライアントが切断してるだけわ・・・・

クライアントを Poderosa から RLogin へ変更して、同じテスト(双方KeepAlive無し)を行う

NATテーブルの生存期間いっぱいに待機可能となり、900秒以降切断されるのを確認
これに、RLogin の KeepAlive (900秒未満) を組み合わせることで、切断されない環境となった

コメント