如何将一个文件夹从远程到本地使用scp复制? [关闭] 如何将一个文件夹从远程到本地使用scp复

2019-05-12 11:16发布

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

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

如何实现这一目标?

Answer 1:

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

man scp (见在线手册 )

-r递归复制整个目录



Answer 2:

要使用scp的完整能力,你需要经过下面的步骤:

  1. 公共密钥授权
  2. 建立SSH别名

然后,例如,如果你有这样的〜/ .ssh /配置

Host test
    User testuser
    HostName test-site.com
    Port 22022

Host prod
    User produser
    HostName production-site.com
    Port 22022

你会从输入密码保存自己,简化这样的SCP语法:

scp -r prod:/path/foo /home/user/Desktop   # copy to local
scp -r prod:/path/foo test:/tmp            # copy from remote prod to remote test

更完了,你将能够使用远程路径完成:

scp test:/var/log/  # press tab twice
Display all 151 possibilities? (y or n)

更新:

为使远程的bash完成你需要有两个bash的壳<source><target>主机和正常工作的bash完成。 欲了解更多信息,请参阅相关的问题:

如何使用scp时启用远程路径自动完成?
SCP文件名tab完成



Answer 3:

要从本地位置全部复制到远程位置 (上传)

scp -r /path/from/destination username@hostname:/path/to/destination

远程位置复制到所有本地位置 (下载)

scp -r username@hostname:/path/from/destination /path/to/destination

自定义端口,其中xxxx自定义的端口

 scp -r -P xxxx username@hostname:/path/from/destination /path/to/destination

在当前目录从远程到本地复制

scp -r username@hostname:/path/from/file .

救命:

  1. -r递归复制所有的目录和文件
  2. 始终使用全位置从/ ,通过获取完整的位置pwd
  3. scp将替换所有现有文件
  4. hostname将主机名或IP地址
  5. 如果需要自定义端口(除了端口22)使用-P portnumber
  6. (点) -这意味着当前工作目录,所以下载/复制从服务器,只贴在这里。

注意:有时自定义端口不会因没有被允许在防火墙的端口工作,所以要确保自定义端口允许防火墙传入和传出连接



Answer 4:

我一直用的是:

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

(点):这意味着current folder 。 所以从服务器复制和粘贴只在这里。

IP:可以像一个IP地址125.55.41.311 ,也可以是主机像ns1.mysite.com



Answer 5:

更好的远程服务器上的第一个压缩目录:

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

其次,从远程下载:

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

最后,解压缩文件:

tar -xzvf backup.tar.gz


Answer 6:

如果你有一个文件中的一个地狱从远程位置下载,如果你对安全不太关心,请尝试更改SCP默认加密(三重DES),以类似“河豚”。

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

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


Answer 7:

转到文件的统一工具栏上

按Ctrl + L和写here_goes_your_user_name@192.168.10.123

该192.168.1.103是你要连接的主机。

这里的一个例子



Answer 8:

典型情况下,

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

与样品所解释的,

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

哪里,

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


Answer 9:

如果您遇到“太多的验证失败”,指定你已经添加到您的西弗斯SSH服务器的确切SSH密钥:

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


Answer 10:

现在的问题是如何将一个文件夹,远程复制到本地与scp命令。

$ scp -r userRemote@remoteIp:/path/remoteDir /path/localDir

但在这里是用做的更好的办法sftp - SSH文件传输协议(也安全文件传输协议,或SFTP)是一种网络协议,它提供文件访问,文件传输,以及在任何可靠的数据流文件管理(维基百科) 。

$ sftp user_remote@remote_ip

sftp> cd /path/to/remoteDir

sftp> get -r remoteDir

Fetching /path/to/remoteDir to localDir 100% 398 0.4KB/s 00:00

有关帮助sftp命令只需键入help?



Answer 11:

我不知道为什么,但我有源服务器的指令之前,使用本地文件夹。 使它工作

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


文章来源: How to copy a folder from remote to local using scp? [closed]