2階層SSH経由でWindowsからファイルをコピーする

2階層SSH経由でWindowsからファイルをコピーする

私が働いているログインサーバーがあり、そのログインサーバーからLinuxシステムにログインします。良い、

ssh login@host

ssh computer_name

毎回認証が提供されます。 (残念ながら)Vistaを実行しているラップトップを使用している場合は、puttyを実行してから開くターミナルlogin@hostでComputer_nameにログインします。

私のコンピュータからLinuxシステムに、またはその逆にローカルファイルをインポートする必要があることがよくあります。通常、WinSCPを使用してコンピュータ名に転送し、login@hostnamescpをコンピュータ名またはその逆に転送します。ただし、login@hostnameストレージ容量が非常に制限されているため、この方法ではより大きなファイルを取得できません。 Computer_nameと私のラップトップ間で直接ファイルを転送する方法はありますか?

答え1

ポートをローカルポート転送に設定します。 OpenSSHの場合、これは次のことを意味します。

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

これにより、ポートへのすべての接続がvia(ここで重要)のポートに転送され2222ます。それからフォローしてください。localhost22computer_namehost

$ scp -P 2222 computer_name_user@localhost:remote local

明らかに、これもあなたが接続できるようにしますcomputer_name

$ scp -p 2222 computer_name_user@localhost

PuTTYはポート転送が可能であり(scp私が覚えている限りそれもあります)、販売されているソフトウェアですが、実際にCygwinでOpenSSHを使用することをお勧めします。これは、事実上の標準的なSSHインタフェースを提供するためです(すべての鐘と口笛)機能)。

明確な重複項目をすばやく見つけることはできませんが、次の点を確認してください。

答え2

SSHの2つの層にわたってタスクを実行する簡単な方法は、中間層を隠すことです。

設定するProxyCommandこれにより、ssh computer_name元のクライアントで直接実行できます。公開鍵認証を設定してプロキシ転送(ForwardAgent yesin ~/.ssh/config)を有効にすると、中間コンピュータに資格情報を明示的に提供する必要はありません。

今スムーズに動作します。必要な方法でssh computer_nameファイルをコピーするだけです。scprsync

関連情報