
リモートサーバーからローカルサーバーにファイルをコピーしようとしていますが、リモートサーバーは最初に中間ホストに接続してからそこから物理サーバーに移動する必要があります。 scpコマンドを使用してリモートサーバーからローカルコンピューターにファイルをコピーするためにこのジャンプ技術を使用する方法を知りたいです。
そのため、まず中間サーバーに接続し、そこから物理サーバーに接続しようとします。
答え1
ProxyJump
最新バージョンのSSHでは、少なくともキーを設定した場合はSSHの概念を使用するのが非常に簡単です。
この3つのマシンをL、I、R(それぞれローカル、中間、リモート)と呼びます。最初は、ユーザー名がすべて同じであると仮定します。
必要なコマンドは次のようになります。
scp -oProxyJump=I R:remote_file localfile
ユーザー名が異なる場合は、Iをに変更してuser@I
Rをに変更しますuser@R
。
SSHを使用する場合、コマンドは次のようになります。
ssh -J [user@]I [user@]R
答え2
プロキシを含めるようにSSH設定を編集します。 scpはリモート接続にSSHを使用するため、SSH設定のみを編集できます。 「中間サーバー」をプロキシとして使用します。
ファイルに次の内容を追加します~/.ssh/config
。
Host target.machine
User targetuser
HostName target.machine
ProxyCommand ssh [email protected] nc %h %p 2> /dev/null
scp
その後、リモートサーバーに直接接続するのと同じように使用します。
クレジットが必要な場所にクレジットを提供するには、ここ。