
だから私は私のボックスの1つのための小さなSSHコールバックソリューションを作業していますが、何が起こっているのかを知るために何を見つけるべきかをほとんど知らない小さな問題に遭遇しました。
デフォルトでは、クライアントはSSHを介して再接続し、60秒ごとにnetstat
。ただし、サーバーが再起動し、netstatを確認しても接続が表示されます。だから、デフォルトでは、クライアントがSSH接続を長期間アクティブに保つことができるかどうかを確認したいのですが(使用されていない場合でも)、接続が実際にサーバーから切断された場合は、クライアントが切断できることを願っています。
サーバーではない場合、将来のアクセスのために継続的なSSH接続を維持できるようにしながら、古いまたは期限切れのSSH接続を実際に削除するには、クライアントでどのオプションを考慮する必要がありますか?
ClientAliveIntervalとClientAliveCountMaxが設定されている可能性があると思いますが、クライアントまたはサーバーで設定する必要があるのか、サーバーに設定されているのか、クライアントが切断されたことをどのように知ることができるのかわかりません。
答え1
-o ServerAliveInterval=30 -o ServerAliveCountMax=3
サーバーが30秒ごとに提供される3つのpingに応答しない場合は、クライアントをシャットダウンするオプションを指定してsshコマンドを実行できます。また、見ることができます自動SSHこのコマンドは、接続が常に開こうとします。