我使用私钥从ssh连接到亚马逊的linux实例。我试图将整个文件夹从该实例复制到我的本地linux机器。
任何人都可以告诉我正确的scp
命令这样做吗?
或者我需要的东西比scp
更多?这两台机器都是Ubuntu 10.04 LTS
使用递归选项从客户端计算机调用scp
:
scp -r user@remote:src_directory dst_directory
另一种方法是
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
scp -i {key path} -r [email protected]:{remote path} {local path}
你甚至可以使用rsync。
rsync -aPSHiv remote:directory .
我使用sshfs并将远程目录挂载到本地计算机并执行任何操作。 Here是一个小指南,命令可能会在您的系统上发生变化
我不喜欢将scp用于大量文件,因为它为每个文件执行“事务”。以下是更好的:
cd local_dir; ssh user@server 'cd remote_dir_parent; tar -c remote_dir' | tar -x
您可以向tar添加z
标志以在服务器上压缩并在客户端上解压缩。
这就是我如何将文件从amazon ec2服务复制到本地窗口pc:
pscp -i "your-key-pair.pem" [email protected]:/home/username/file.txt C:\Documents\
对于Linux来复制目录:
scp -i "your-key-pair.pem" -r [email protected]:/home/username/dirtocopy /var/www/
要连接到amazon,它需要密钥对身份验证。
注意:
用户名最有可能是ubuntu。
对于EC2 ubuntu
转到.pem文件目录
scp -i "yourkey.pem" -r ec2user@DNS_name:/home/ubuntu/foldername ~/Desktop/localfolder