SSH接続が継続的に切断される

SSH接続が継続的に切断される

SSH接続を次のように設定しました:~/.ssh/configクライアント側

ServerAliveInterval 1
ServerAliveCountMax 1200

/etc/ssh/sshd_configサーバー側では:

ClientAliveInterval 5                                                                                                          
ClientAliveCountMax 1200             

それでも、リモートサーバーにログインすると、接続はかなり安定していると思うのですが、SSH接続が15秒から60秒後に継続的に切断されます。ssh <server> -vvv常に

...
debug3: send packet: type 80
debug3: receive packet: type 82
debug3: send packet: type 80
debug3: receive packet: type 82
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 80
debug3: receive packet: type 98
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 1
debug3: send packet: type 100
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 80
debug3: send packet: type 1
Connection reset by <IP> port <PORT>

サーバー側では:

...
debug3: receive packet: type 80                                                                                                
debug1: server_input_global_request: rtype [email protected] want_reply 1                                                  
debug3: send packet: type 82                                                                                                   
debug3: receive packet: type 80                                                                                                
debug1: server_input_global_request: rtype [email protected] want_reply 1                                                  
debug3: send packet: type 82                                                                                                   
debug2: channel 0: request [email protected] confirm 1                                                                     
debug3: send packet: type 98                                                                                                   
debug2: channel 0: request [email protected] confirm 1                                                                     
debug3: send packet: type 98                                                                                                   
debug2: channel 0: request [email protected] confirm 1                                                                     
debug3: send packet: type 98                                                                                                   
debug2: channel 0: request [email protected] confirm 1                                                                     
debug3: send packet: type 98
...                                                                                                 

サーバーは確かに再試行を続けます。また、並行して何かをダウンロードしたり、同じサーバーへの並行 SSH 接続を開いたりすることもできます。

しかし、たとえ短時間の停止があったとしても、SSH クライアントが再試行を続けずに途中で終了するのはなぜでしょうか? SSH を (本当に) 再試行を続けるように構成するにはどうすればよいでしょうか?

答え1

厳密には私の問題の解決策ではありませんが、少なくとも別のシェルでプロセスを実行して、1秒ごとにリモートサーバーに並行してログインすることで、問題を回避することができます。

 while true ; do ssh <server> "date; sleep 1s"; done

理由はわかりませんが、上記の最初の質問で提起された問題を効果的に防ぐことができます。

関連情報