2012-02-17 143 views
17

我使用私钥从ssh连接到Amazon的linux实例。我试图将整个文件夹从该实例复制到本地linux机器上。如何将整个文件夹从Amazon EC2 Linux实例复制到本地Linux机器?

任何人都可以告诉我正确的scp命令来做到这一点吗?

或者我需要比scp更多的东西吗? 两款机器的Ubuntu 10.04 LTS

+0

可能更好地适合于http://askubuntu.com,但取决于你需要做什么,有多种方式来做到这一点。你可以像'scp -r user @ remotehost:/ path/to/directory/path/to/local'一样使用'scp'将远程机器上的目录复制到本地。如果你需要保持目录同步,你可以使用'rsync'。 – birryree 2012-02-17 14:53:54

回答

29

呼叫scp从客户机递归选项:

scp -r [email protected]:src_directory dst_directory 
+4

这个解决方案实际上帮助我试图在不使用私钥的情况下复制数据.. scp -i * .pem -r user @ remote:src_directory dst_directory – 2012-02-20 06:10:19

1

我使用sshfs的和挂载远程目录到本地机器上做任何你想要的。 Here是一个小指南,命令可能会改变你的系统

3

你甚至可以使用rsync。

rsync -aPSHiv remote:directory . 
0

我不喜欢对大量文件使用scp,因为它对每个文件都进行“事务”处理。以下是好得多:

cd local_dir; ssh [email protected] 'cd remote_dir_parent; tar -c remote_dir' | tar -x 

您可以添加z标志焦油压缩在服务器上,并解压缩在客户端。

24

另一种方式来做到这一点是

SCP -i“在此处插入密钥文件” -r“在这里插入EC2实例”,“本地目录”

一个错误我犯了SCP -ir。关键必须在-i之后,-r之后。

所以

SCP -i amazon.pem -r EC2用户@ EC2 - ## - ## - ##:/源/目录/目的地/ DIR

4
scp -i ~/Downloads/MyFirstKey.pem -r [email protected]:~/sid/ ~/Desktop/angularFile/ 
+0

请尽量避免将代码转储为答案,并尝试解释它的作用,为什么。对于那些没有相关编码经验的人来说,你的代码可能并不明显。 – Frits 2016-09-22 07:29:11

+0

是的,虽然这段代码可以解决这个问题,但[包括解释](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)确实有助于提高您的质量帖子。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。 – 2016-09-23 08:43:33

相关问题