web-dev-qa-db-ja.com

SSHを使用してサーバーからローカルコンピューターにファイルをコピーする

SSHを使用してリモートサーバーからファイルをコピーするのに問題があります。 PuTTYを使用して、SSHを使用してサーバーにログインします。コンピューターにコピーしたいファイルを見つけたら、次のコマンドを使用します。

scp [email protected]:/dir/of/file.txt \local\dir\

成功したように見えますが、リモートディレクトリ/dir/of/に 'localdir'というラベルの付いた新しいフォルダを作成するだけです。

SSH経由でローカルコンピューターにファイルをコピーするにはどうすればよいですか?

36
Vincent

ローカルOSによって異なります。

ローカルOSがUnixライクの場合は、次を試してください。

scp username@remoteHost:/remote/dir/file.txt /local/dir/

ローカルOSがWindowsの場合、pscp.exeユーティリティを使用する必要があります。たとえば、以下のコマンドはfile.txtをリモートからローカルマシンのD:ディスクにダウンロードします。

pscp.exe username@remoteHost:/remote/dir/file.txt d:\

ローカルOSはUnixのようですので、前者を試してください。


pscp.exeが何であるか分からず、どこにあるか分からない場合は、いつでもPuTTY公式Webサイト にアクセスしてダウンロードできます。そして、CMDプロンプトを開き、それを配置したpscp.exeディレクトリに移動します。次に、上記のコマンドを実行します

79
mainframer

あなたの質問は少し混乱していますが、私は仮定しています-あなたは最初に「ssh」を実行して、どのファイルまたはむしろ具体的にディレクトリが存在するかを見つけ、次にローカルコンピュータにもう一度、そのディレクトリの「すべて」のファイルをscpしようとしていますローカルパスへ。単にscp -rを実行する必要があります。

だからあなたの場合、それは次のようなものになるだろう

local> scp -r [email protected]:/path/to/dir local/path 

「scpのような機能」を提供する他の実行可能ファイルを使用している場合、ファイルを再帰的にコピーするためのマニュアルを参照してください。

7
gabhijit

両方のディレクトリパスでファイルに名前を付ける必要があります。

scp [email protected]:/dir/of/file.txt \local\dir\file.txt
3
Andy

scpコマンドが両側で利用可能であることを確認してください-clientサーバー

BOTHサーバーとクライアント。そうしないと、クライアントでscp: command not foundまたは同様のエラーメッセージが表示されます。

2
0yeoj

そのscpコマンドはローカルコマンドラインで発行する必要があります。PuTTYの場合、コマンドはpscpです。

C:\something> pscp [email protected]:/dir/of/file.txt \local\dir\
2
Jasen