SCPのコピーをあるコンピュータから別のコンピュータに転送する方法は?

SCPのコピーをあるコンピュータから別のコンピュータに転送する方法は?

A、B、C 3 台のコンピュータがあるとします。

  • マシンAはどのネットワークからもマシンBにアクセスできないため、2つの間でファイルを送信できません。
  • ただし、AとBはC(マイコンピュータ)から接続できます。

今日は大容量ファイルをAからBにコピーしたいです。

現時点では、まずAからCにコピーしてから、CからBにコピーする必要があります。scp着信データを途中に保存せずにターゲットコンピュータに接続またはパイプする方法はありますか?

答え1

man scp書いた(強調)

-32 つのリモートホスト間でコピーを転送するローカルホスト経由。このオプションがないと、データは2つのリモートホスト間で直接コピーされます。 [...]

そのため、必要なのはローカルシステムを介してルーティングされるコピーコマンドです(私は-pタイムスタンプと権限を保存するためにほとんど常に含まれているので、ここでもそうします)。

scp -3p serverA:path/to/file(s) serverB:/path/to/destination

最新バージョンscpでは-3 デフォルトで有効2021年8月9日からそれを無効にするには、これを指定する必要があります-R。このサードパーティのレプリケーション機能を使用すると、scp両方のホストがパスワードとパスワードを要求できないため、パスワードフレーズとパスワードのプロンプトが無効になります。

答え2

scp user1@A:from_file user2@B:to_fileこれで問題が解決します。読むman scp

関連情報