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

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

我如何做到这一点?


当前回答

最好先压缩远程服务器上的目录:

tar czfP backup.tar.gz /path/to/catalog

其次,从远程下载:

scp user@your.server.example.com:/path/to/backup.tar.gz .

最后,提取文件:

tar -xzvf backup.tar.gz

其他回答

转到统一工具栏上的文件

按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

如果遇到“太多身份验证失败”,请指定添加到服务器SSH服务器的确切SSH密钥:

scp -r -i /path/to/local/key user@remote.tld:/path/to/folder /your/local/target/dir

我不知道为什么,但我必须在源服务器指令之前使用本地文件夹。让它发挥作用

scp -r . root@888.888.888.888:/usr/share/nginx/www/example.org/

我一直使用的是:

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

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

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