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

我在使用 SSH 从远程服务器复制文件时遇到了麻烦。使用 PuTTY 我使用 SSH 登录到服务器。一旦找到要复制到计算机上的文件,我使用以下命令:

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

它看起来是成功的,但最终只是在远程目录 /dir/of/中创建了一个名为“ localdir”的新文件夹。

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

466167 次浏览

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

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\

这取决于您的本地操作系统是什么。

如果你的本地操作系统是 Unix 风格的,那么试试:

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

如果您的本地操作系统是 Windows,那么您应该使用 pscp.exe实用程序。 例如,下面的命令将把 file.txt 从远程下载到本地机器的 D:磁盘。

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

看起来你的本地操作系统是 Unix,所以试试前一个。


对于那些不知道什么是 pscp.exe,也不知道它在哪里的人,你总是可以去 putty 官方网站下载它。然后打开 CMD 提示符,转到放置它的 pscp.exe 目录。然后执行上面提供的命令

剪辑

如果你使用的是 Windows10以上的 Windows 操作系统,那么你可以直接从终端使用 scp,就像 Unix 操作系统一样。 感谢@gijswijs@junt@icanathom

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

所以在你的情况下

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

如果您正在使用其他提供“类似 scp 的功能”的可执行文件,请参考其递归复制文件的手册。

确保 < em > scp command 在两边都可用-两边都可用 客户端 和在 服务器上。

服务器和客户端,否则您将在您的客户端上遇到这种(奇怪的)错误消息: scp: command not found或类似的东西,即使您已经在本地配置了它们。