管理アクセスまたはインターフェイス間ネットワークルーティングを許可しないWindows Serverで使用するrdp2tcpよりも良いものは見つかりませんでした。これを機能させるには、rdesktopでOOPパッチを実行する必要があります(最後のページに移動して、rdesktopの最新バージョンに対応するものを見つけます)。MinGWコンパイラを使用して、トンネルのWindows側をコンパイルしました。
ドキュメントも優れた簡潔なものです。
些細な点のように見えるかもしれません:「-」を含む「addin」名を使用すると、rdesktopはコマンドラインを正しく解析できません。これは適切なエスケープを必要とするバシズムだったかもしれませんが、私にはわかりません。
私が理解できる限り、これは、TCPプロトコルデータユニットを「見る」「真の」TCPトンネルではないことに注意してください。これは、Windows側の管理者権限がなければ不可能です。これは、事前設定されたエンドポイントを持つソックスプロキシに似ています(ただし、それほど重要ではありません)。あなたがそれを空想した場合、それはまた、実際の靴下プロキシを備えています。
私はそれを使ってインタラクティブなSSHセッションを簡単に管理しましたが、SSHファイル転送に耐えられませんでした(rdesktopコンソールで「仮想チャネルを切断」しました(rdp2tcpはrdesktopによってstdout / stdin dup2'ed / pipedで子プロセスとして実行されます) 、しかしstderrに変更はありません))。トンネルを保持するためのキープアライブタイムアウトのように見えたRDP2TCP_PING_TIMEOUTと呼ばれるソースに定数がありました。中間ネットワークで何らかのスロットリングを想定した場合、これを5秒から900秒に増やすとうまくいくようで、最大100MBの転送に耐えました(特定のネットワークで約15分かかりました)。
しかし、それを超えて、rdp2tcpはSIGPIPEを受信することがわかりました。rdesktopパイプの破損のために受信したと主張しましたが、rdesktopコードまたは ' lsof 'は、SIGPIPEトリガーの前後でrdesktopのパイプの数に変化がないことを示しました。
この場合、rdesktopを再起動する必要があります。トンネルのWindows側も再起動する必要があります。rsyncを使用してファイル転送を再開できます。また、リカバリプロセス全体を自動化できます。
これはすべて、Linuxをクライアントとして想定していました。Cygwin / Xで発生した無関係なトラブルのため、Windowsでパッチを適用したrdesktopを試したことはありません。動作するはずです。
また、私の経験はSSHでしたが、他の手段による巨大なファイル転送でも同じ問題が発生する可能性があります。