如何使用scp将文件夹从远程主机复制到本地主机?

我使用ssh登录到我的服务器。然后,我想将远程文件夹foo复制到local/home/user/Desktop。

我如何做到这一点?


当前回答

问题是如何使用scp命令将文件夹从远程复制到本地。

$scp-ruserRemote@remoteIp:/path/remoteDir/path/localDir

但这里有一个更好的方法来使用sftp-SSH文件传输协议(也称为安全文件传输协议,或sftp)是一种网络协议,通过任何可靠的数据流提供文件访问、文件传输和文件管理。(维基百科)。

美元/平方英尺user_remote@remote_ip

sftp>cd/path/to/remoteDir

sftp>获取-r remoteDir

正在将/path/to/remoteDir提取到localDir 100%398 0.4KB/s 00:00

有关sftp命令的帮助,只需键入help或?。

其他回答

转到统一工具栏上的文件

按Ctrl+l并写入here_goes_your_user_name@192.168.10.123

192.168.1.103是您要连接的主机。

这里有一个例子

典型场景,

scp -r -P port username@ip:/path-to-folder  .

用样品解释,

scp-r-P 27000abc@10.70.12.12:/tmp/hotel_dump。

哪里

port = 27000
username = "abc" , remote server username
path-to-folder = tmp/hotel_dump
. = current local directory

如果您有一个地狱般的文件要从远程位置下载,如果您不太关心安全性,请尝试将scp默认加密(三重DES)更改为类似“blowfish”的格式。

这将大大减少文件复制时间。

scp -c blowfish -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

这个问题的前提是不正确的。其想法是,一旦登录ssh,如何将文件从登录的计算机移回登录的客户端。然而,scp不知道,也不能使用ssh连接。它正在建立自己的联系。因此,简单的解决方案是在本地工作站上创建一个新的终端窗口,并运行scp,将文件从远程服务器传输到本地计算机。例如,scp-i键user@remote:/remote dir/remote file/local dir/local file

我一直使用的是:

scp -r username@IP:/path/to/server/source/folder/  .

.(dot):表示当前文件夹。所以从服务器复制并粘贴到这里。

IP:可以是125.55.41.311这样的IP地址,也可以是ns1.mysite.example这样的主机。