我使用私钥从ssh连接到亚马逊的linux实例。我正在尝试将整个文件夹从该实例复制到我的本地linux机器。
有人能告诉我正确的scp
命令吗?
或者我需要的内容超过scp
吗?
这两台机器都是Ubuntu 10.04 LTS
答案 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