最初のSSH接続を介して直接アクセスできないファイルをダウンロードする必要があることがよくあります。たとえば、私はWindowsコンピュータを使用していますが、LAN経由でのみアクセスできる他のコンピュータにアクセスしたいと思います。これは、まず中間マシンに接続し、次のマシンにSSHを接続する必要があることを意味します。
最初のシステムでファイルが利用可能な場合は、pscpを使用して簡単に取得できます。この状況でSSHポート転送を使用できますか?
ベストアンサー1
私は.ssh/config
次の定義を追加します:
Host SERVER-A
ProxyCommand ssh SERVER-B nc -q0 %h %p 2> /dev/null
ssh
その後、通常の方法でorを使用してください。scp
ssh user@SERVER-A
または
scp file.tar.gz user@SERVER-A:~
SERVER-A
これらの構成は、SSHライブラリへの接続を確立したときに検出されます。接続するには、いくつかのプロキシコマンドを使用する必要があることをsshに伝えます。プロキシコマンドは、プロキシコマンドのすべての出力を指定されたポート、その定義、およびパラメータの指定されたサーバーに渡すコマンド(netcat)を接続しSERVER-B
て実行します。nc
%h
%p
この構造により、鍵認証を使用することもできます。 2つのサーバーのクライアントコンピュータから公開コンテンツをコピーしたばかりSERVER-A
ですSERVER-B
。
このタイプの構成は、SSHライブラリ( GUIクライアントrsync
などsftp
)を使用する他のアプリケーションとも互換性があります。