scpを使用して他のサーバーを介してファイルをコピーする方法

scpを使用して他のサーバーを介してファイルをコピーする方法

機械が3つあります。ローカルマシンL、Server1 A、Server2 B. Lは
Aに接続できます。
AはBL
に接続できます。いいえBに接続できます

データをコピーするためにAにログインする追加のステップを経ずに、LからBにファイルをコピーしたいと思います。

scpは大丈夫ですか?それではどうですか?

答え1

エルいいえBに接続できますが、BはLに接続できますか?あなたは言わなかったが、私はそうではないと仮定します。

AがBとLの間の唯一の通信方法である場合、ある時点では明らかにAにログインする必要があります。さらに、データは何らかの方法でAを通過します(Aの接続が遅い場合は問題になる可能性があります)。

さまざまな方法でAを介してSSHトンネルを確立することで、LからBに移動できます。たとえば、

# From L
ssh -L 2222:B:22 -Nf A

~/.ssh/config次に、Bへのトンネリングを容易にするために、Lに次の設定を追加します。

Host B
    HostName localhost
    HostKeyAlias B
    Port 2222

その後、トンネルを介してBに接続できます。

scp file B:

バックグラウンドでトンネルを自動的に設定するツールを含む、このトンネルを設定する他のオプションがあります。

関連情報