SSHを介して永続的なポート転送を行っています。基本的には
while true; do
ssh <somewhere> \
-R <dst-port>:localhost:<src-port> \
-N -n -o ExitOnForwardFailure=yes
sleep 10
done
ただし、それはあまり信頼できません。ポートがまったく転送されない場合があります(接続が正常に動作しているかどうかはわかりませんが、クライアントでプロセスを確認でき、数時間既に実行されています)。ネットワークインターフェースはダウンしています)が、タイムアウトするのに非常に長い(場合によっては30〜60分)時間がかかります。
どうすれば信頼性を高めることができますか?たぶん1分のタイムアウトが必要です。
この非常に関連性のある/類似した質問を見つけました ただし、最初の答えはそれExitOnForwardFailure
を解決する必要があることを示していますが、私はすでにそれを持っていますが、そうではありません(ssh
このオプションで実行中のプロセスをすぐに見ることができますが、ポートは転送されません)。
autossh
前に読みました。しかし、私は以前とまったく同じ問題を抱えています。接続は停止しますが、autossh
認識されません。