使用 SSH 将文件从服务器复制到本地计算机

Copying files from server to local computer using SSH

我在使用 SSH 从远程服务器复制文件时遇到问题。使用 PuTTY 我使用 SSH 登录到服务器。找到要复制到计算机的文件后,我使用命令:

scp username@host.com:/dir/of/file.txt \local\dir\

看起来成功了,但它最终只是在远程目录 /dir/of/.

中创建了一个标有 'localdir' 的新文件夹

如何通过 SSH 将文件复制到本地计算机?

您需要在两个目录路径中命名文件。

scp username@host.com:/dir/of/file.txt \local\dir\file.txt

必须在本地命令行上发出 scp 命令,对于 putty,命令是 pscp。

C:\something> pscp username@host.com:/dir/of/file.txt \local\dir\

这取决于你当地的 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是什么,也不知道它在哪里的人,可以随时到puttyofficial website下载。然后打开CMD提示符,进入你放置它的pscp.exe目录。然后执行上面提供的命令

编辑

如果你在 Windows 10 以上使用 Windows OS,那么你可以直接从它的终端使用 scp,就像 Unix-like [=38] =] 确实如此。 感谢@gijswijs @jaunt @icanfathom

你的问题有点令人困惑,但我假设 - 你首先做 'ssh' 来找出哪些文件或更确切地说是目录,然后再次在你的本地计算机上,你正在尝试 scp 'all' 该目录中的文件到本地路径。你应该简单地做 scp -r

所以在你的情况下它会像

local> scp -r username@host.com:/path/to/dir local/path 

如果您使用的是其他提供 'scp like functionality' 的可执行文件,请参阅递归复制文件的手册。

Make sure the scp command is available on both sides - both on the client and on the server.

BOTH 服务器和客户端,否则你会在你的客户端上遇到这种(奇怪的)错误消息:scp: command not found 或类似的东西,即使你有它全部在本地配置。