如何将整个文件夹从Amazon EC2 Linux实例复制到本地Linux机器?

时间:2012-02-17 14:50:12

标签: linux ssh amazon-ec2 sftp scp

我使用私钥从ssh连接到亚马逊的linux实例。我正在尝试将整个文件夹从该实例复制到我的本地linux机器。

有人能告诉我正确的scp命令吗?

或者我需要的内容超过scp吗? 这两台机器都是Ubuntu 10.04 LTS

9 个答案:

答案 0 :(得分:47)

另一种方法是

scp -i "insert key file here" -r "insert ec2 instance here" "your local directory"

我犯的一个错误是scp -ir。密钥必须在-i之后,-r之后。

所以

scp -i amazon.pem -r ec2-user@ec2-##-##-##:/source/dir /destination/dir

答案 1 :(得分:35)

使用递归选项从客户端计算机调用scp

scp -r user@remote:src_directory dst_directory

答案 2 :(得分:13)

scp -i {key path} -r ec2-user@54.159.147.19:{remote path} {local path}

答案 3 :(得分:3)

你甚至可以使用rsync。

rsync -aPSHiv remote:directory .

答案 4 :(得分:1)

我使用sshfs并将远程目录挂载到本地计算机并执行任何操作。 Here是一个小指南,命令可能会在您的系统上发生变化

答案 5 :(得分:1)

对于EC2 Ubuntu

转到您的.pem文件目录

scp -i "yourkey.pem" -r ec2user@DNS_name:/home/ubuntu/foldername ~/Desktop/localfolder

答案 6 :(得分:0)

我不喜欢将scp用于大量文件,因为它为每个文件执行“事务”。以下是更好的:

cd local_dir; ssh user@server 'cd remote_dir_parent; tar -c remote_dir' | tar -x

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

答案 7 :(得分:0)

这就是我将文件从Amazon ec2服务复制到本地窗口PC的方式:

pscp -i "your-key-pair.pem" username@ec2-ip-compute.amazonaws.com:/home/username/file.txt C:\Documents\

对于Linux复制目录:

scp -i "your-key-pair.pem" -r username@ec2-ip-compute.amazonaws.com:/home/username/dirtocopy /var/www/

要连接到亚马逊,需要密钥对身份验证。

注意:

用户名很可能是ubuntu。

答案 8 :(得分:0)

这也很重要,并且与上述答案有关。 将本地目录中的所有文件复制到EC2。这是Unix的答案。

将整个本地文件夹复制到EC2中的文件夹:
scp -i "key-pair.pem" -r /home/Projects/myfiles ubuntu@ec2.amazonaws.com:/home/dir

仅将本地文件夹的全部内容复制到EC2中的文件夹:
scp -i "key-pair.pem" -r /home/Projects/myfiles/* ubuntu@ec2.amazonaws.com:/home/dir