2つの中間サーバーを介して3番目のホップサーバーにscpする方法

2つの中間サーバーを介して3番目のホップサーバーにscpする方法

scp私は中間サーバーを介して2番目のホップサーバーにオペレーターを渡す多くの例を見ましたProxyCommand。たとえば、次のようになります。

A:/infile.txt -> B -> C:/outfile.txt

Aの内容は次のとおりです。

scp -o 'ProxyCommand ssh userB@hostB nc %h %p' infile.txt userC@hostC:"~/outfile.txt"

私の質問scp、2つの中間サーバーを介して3番目のホップサーバーに到達する方法は次のとおりです。

A:/infile.txt -> B -> C -> D:/outfile.txt

私はこれを行う方法を探しています。1行使用上記の2番目のホップの例に似ていますが、これが不可能な場合は、すべての回答と方法が有効です。

私がしたいことは同じです。複数のホストを介したSCPまたはそのバリエーションの場合は、/etc/ssh/ssh_configファイルを使用してエイリアスを設定します。私がしたかったのはそれではなく、ただ行を探していただけだ。出発地と目的地の間に複数のプロキシホストがある例を見たことがないので、この質問は非常に妥当だと思います。

答え1

7.3の新機能には、必要な単一ラインを生成できるopensshスイッチがあります。-J

scp -oProxyJump=userB@hostB,userC@hostC infile.txt userD@hostD:"~/outfile.txt"

~からマニュアルページ:

プロキシジャンプ

指定する1つ以上のジャンププロキシのように[user@]host[:port]。エージェントは複数の人になることができます。カンマ文字で区切るそして順次訪問することになります。このオプションを設定すると、最初に指定されたProxyJumpホストへのssh(1)接続を確立し、そこから最終宛先へのTCP転送を設定して、宛先ホストへのssh(1)接続を作成します。

関連情報