A、B、C 3 台のコンピュータがあるとします。
- マシンAはどのネットワークからもマシンBにアクセスできないため、2つの間でファイルを送信できません。
- ただし、AとBはC(マイコンピュータ)から接続できます。
今日は大容量ファイルをAからBにコピーしたいです。
現時点では、まずAからCにコピーしてから、CからBにコピーする必要があります。scp
着信データを途中に保存せずにターゲットコンピュータに接続またはパイプする方法はありますか?
答え1
man scp
書いた(強調)
-3
2 つのリモートホスト間でコピーを転送するローカルホスト経由。このオプションがないと、データは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
。