2台のマシン間に信頼性の低いネットワーク接続があります。制御できない理由でアクティブなTCP接続が切断されることがあります。2台のマシン間に信頼できるTCP接続を確立したい。
ネットワークが信頼できる場合はssh -L 1234:localhost:1234 remotehost
、サーバーをポート1234でリッスンしてを実行し、remotehost
クライアントをに向けlocalhost:1234
ます。しかし、ssh接続が停止すると、転送された接続も停止します。クライアントとサーバー間の接続を自動的に復元するようにするにはどうすればよいですか?
非解決策:
- これはインタラクティブアプリケーション用ではないため、画面は適用されません。
- これは、SSHトンネルを自動的に再接続することだけではありません。 la autossh。新しいトンネル接続を開始するのではなく、同じトンネルTCP接続を引き続き使用したい。
- 原則として、VPNが有効です。しかし、TCP接続が1つだけ必要な場合はやり過ぎに思われます。どちらの側にもroot権限がない場合でも機能する解決策が欲しいです。
私はrocks
それをやったというプログラムの薄暗い記憶を持っていますが、それはウェブの顔から落ちたようです。私は主に両側のLinuxに関心があります(ただし、このレベルのプログラムは他のuniceに移植できることを期待しています)が、QNXとVMSの間で動作するプログラムを知っている場合は、さらに良いでしょう。
scp
。ポートフォワーディングの例に基づいて、sshキープアライブを使用して応答していました。Re:不安定なダウンストリームホップです。より耐性のあるキープアライブを使用してsshセッションを作成する以外に、できることは多くありません(つまり、ServerAliveInterval > 0
およびでドロップされたキープアライブを許可しますServerAliveCountMax > 3
)。NATでは、より低いキープアライブ間隔が必要です。重要な問題は、問題が何であるかを特定し、それに応じて調整することです。オプションを.ssh/config
配置して、常に表示されるようにする
rocks
実装を期待するよりも多くのことはできません...これは明らかに本当の策略です