0

で接続するリモート サーバーのファイル システムに保存されているドキュメントやメディア (PDF や JPEG など) を表示できるサービスを作成したいと考えていますssh。X11 フォワーディングは遅すぎるため、それをカットしません。代わりに、必要に応じてリモート システムからファイルをコピーして表示するプロトコルを設計したいと考えています。

私の質問は 2 つあります。

  1. リモート マシンのポートを取得するにはどうすればよいですか? 複数の接続を行っている可能性があるため、1 つのウェルノウン ポートを単純に使用することはできません。ポートを動的に割り当てる必要があります。

  2. ポートを取得したら、それをリモート マシンのディスプレイ アプリケーションにどのように通信すればよいですか? SSH X11 転送は環境変数を設定してDISPLAY通信し、エージェント転送はSSH_AUTH_SOCK環境変数を設定して通信します。リモート コマンドを使ってクリエイティブなことができるのではないでしょうか?

どんなアイデアでも歓迎します。

4

1 に答える 1

1

本当にリモートポートが必要ですか? リモート マシンに SSH で接続できる場合は、rsync、Mercurial、Git などのコマンドを実行し、ssh コマンドを介してデータを送信しないでください。SSH は 8 ビットのクリーンな接続を提供できるため、ソケット接続のようなものです。

明確にするために、私が提案しているのは次のとおりです。

  1. 起点から宛先への SSH
  2. SSH セッションで、データを標準出力に書き込む宛先でコマンドを実行します。
  3. 標準出力は、SSH 接続を介して送信先から送信元に送信されます
  4. 元のマシンで SSH の標準出力から出てくるデータを収集します

その場合、起点または宛先のいずれかで特定のポートを開く必要はありません。

実際、「リモート システムから必要に応じてファイルをコピーするプロトコル」が本当に必要な場合、SCP、SFTP、または SSH 経由の rsync はどうでしょうか。

于 2011-11-20T19:04:01.797 に答える