問題タブ [autossh]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
54 参照

linux - Wi-Fi 切断後に Azure VM に SSH 接続を再接続する際の問題

Raspberry Pi Zero を Azure VM に接続し、リバース ポート フォワード ssh トンネルを作成しようとしています。私はこれにちょっと慣れていないので、私の用語は少しずれているかもしれません。

問題は次のとおりです。

アルミホイルを使用して Wi-Fi 切断をシミュレートするために Pi Zero から Wi-Fi を切断すると、サーバーは Pi Zero への接続を失います。Pi Zero が autossh/while ループで再接続を試みると、VM サーバーは、逆転送しようとしているポートが占有されていると言います。

より具体的には、サーバー側 sshd のエラー ログは次のようになります。

問題は、wifi の切断が原因でサーバーが接続を適切に切断していないようです。ただし、手動での再接続は正常に機能し、ポートがスタックしているようには見えません。私はかなり長い間この問題を解決しようとしてきました。

  • 「ClientAliveInterval」、「ClientAliveCountMax」、「ServerAliveInterval」、「ServerAliceCountMax」の変更
    • これらを変更しても、接続を適切に切断して再起動するという点では何もしないようです
  • サーバー側で「StreamLocalBindUnlink」を「yes」に変更する
    • これを変更しても、サーバーが接続を切断するのに役立たないようです
  • ssh コマンドを常に再試行する while ループを作成する
    • この方法は機能するはずでしたが、wifi 接続が切断された後にプロセスが強制終了されました。sshコマンドの「-n」オプション、「nohup」、および「&」を使用して、それが起こらないようにしましたが、何も修正されていないようです。
  • Pi Zero の ssh 設定ファイルから「ExitOnForwardFailure」を変更する

何が問題なのか正確にはわかりません.2つのオプションは、サーバーが接続を適切にドロップしていないか、Pi Zeroからの切断に何らかのバグがあるかのいずれかのようです.

どうすればこれを修正できるか、誰にも手がかりがありますか? または、トンネルをドロップした後に再接続するためのより良い方法でしょうか?