Windows から 2 層の SSH を介してファイルをコピーする

Windows から 2 層の SSH を介してファイルをコピーする

私の職場にはログインサーバーがあり、そのログインサーバーからLinuxボックスにログインします。

ssh login@host

ssh computer_name

毎回認証を提供します。残念ながら Vista を実行しているラップトップで作業している場合は、putty を実行してログインし、login@host開いたターミナルから computer_name にログインします。

ローカル ファイルを自分のコンピュータから Linux ボックスに、あるいはその逆の方法で頻繁に移動する必要があります。通常は WinSCP を使用して に転送しlogin@hostname、次に scp で computer_name に転送するか、その逆を行います。ただし、 のlogin@hostnameストレージ スペースは非常に限られているため、この方法では大きなファイルを転送できません。ファイルを computer_name とラップトップの間で直接移動する方法はありますか?

答え1

ローカル ポート転送のポートを設定します。OpenSSH の場合、次のようになります。

$ ssh login@host -L 2222:computer_name:22

これにより、ポートへの接続はすべて2222ポートlocalhostに転送されます。これはここで重要です。次に、22computer_namehost

$ scp -P 2222 computer_name_user@localhost:remote local

もちろん、これにより、computer_name

$ scp -p 2222 computer_name_user@localhost

PuTTY はポート転送が可能です (scp私の記憶ではそうでした)。ただし、これは販売されているソフトウェアなので、Cygwin で OpenSSH を使用することをお勧めします。OpenSSH を使用すると、事実上の標準 SSH インターフェイス (すべての機能付き) が提供されるからです。

明らかな重複をすぐに見つけることはできませんでしたが、次の点を確認してください。

答え2

SSH の 2 層を介して操作を実行する簡単な方法は、中間層を非表示にすることです。

設定するProxyCommand元のクライアントから直接実行できるようにしますssh computer_name。公開キー認証を設定し、エージェント転送 ( ) を有効にするForwardAgent yes~/.ssh/config、中間マシンに資格情報を明示的に提供する必要がなくなります。

これでssh computer_nameシームレスに動作するようになりました。scpまたは、rsync好きなものを使用してファイルをコピーするだけです。

関連情報