我在使用SSH从远程服务器复制文件时遇到了麻烦。我使用PuTTY通过SSH登录到服务器。一旦我找到要复制到我的计算机上的文件,我就使用以下命令:
scp username@host.com:/dir/of/file.txt \local\dir\
看起来操作成功了,但是实际上只是在远程目录/dir/of/
下新建了一个名为'localdir'的文件夹。
我该如何通过SSH将文件复制到我的本地电脑上?
这取决于您的本地操作系统。
如果您的本地操作系统类似于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目录。然后按上面提供的命令执行即可。
如果您使用的是Windows 10以上版本的操作系统,则可以直接从其终端使用scp
,就像Unix类操作系统一样。
感谢@gijswijs @jaunt @icanfathom
scp username@remoteHost:/remote/dir/file.txt /mnt/c
- gijswijsscp
命令。 - jaunt您的问题有点令人困惑,但我假设您首先通过'ssh'找出了哪些文件或者特别是哪些目录存在,然后再在本地计算机上尝试将该目录中的所有文件复制到本地路径。您应该简单地执行scp -r
。
因此,在您的情况下,它会像这样:
local> scp -r username@host.com:/path/to/dir local/path
如果您使用其他提供“类似scp功能”的可执行文件,请参阅其手册以递归复制文件。
您需要在两个目录路径中都命名文件。
scp username@host.com:/dir/of/file.txt \local\dir\file.txt
请确保scp命令在客户端和服务器端都可用。
两边都要有,否则你的客户端会遇到这种(奇怪的)错误信息:scp: command not found
或类似的信息,即使你已经在本地配置好了。
SCP命令必须在本地命令行中发出,对于Putty而言,该命令是pscp。
C:\something> pscp username@host.com:/dir/of/file.txt \local\dir\
scp
还是通过 SSH 在远程 shell 中运行? - William Pricescp username@host:path_to_file path_in_the_local_machine
这将在远程机器上要求输入密码。 - EnthusiastiC