繁体   English   中英

与Amazon Ec2实例的Rsync

[英]Rsync to Amazon Ec2 Instance

我有一个EC2实例正在运行,我可以通过SSH进入它。

但是,当我尝试rsync时,它给出了错误Permission denied(publickey)。

我正在使用的命令是:

rsync -avL --progress -e ssh -i ~/mykeypair.pem ~/Sites/my_site/* root@ec2-XX-XXX-XXX-XXX.us-west-2.compute.amazonaws.com:/var/www/html/

我也试过了

rsync -avz ~/Sites/mysite/* -e "ssh -i ~/.ssh/id_rsa.pub" root@ec2-XX-XXX-XXX-XXX.us-west-2.compute.amazonaws.com:/var/www/html/

谢谢,

我刚收到同样的错误。 我一直能够与ssh:

ssh -i ~/path/mykeypair.pem \
ubuntu@ec2-XX-XXX-XXX-XXX.us-west-2.compute.amazonaws.com

但是当使用较长的rsync构造时,它似乎会导致错误。 我最终将ssh语句包含在引号中并使用键的完整路径。 在你的例子中:

rsync -avL --progress -e "ssh -i /path/to/mykeypair.pem" \
       ~/Sites/my_site/* \ 
       root@ec2-XX-XXX-XXX-XXX.us-west-2.compute.amazonaws.com:/var/www/html/

这似乎成功了。

在经历了一点点痛苦后,我相信这会有所帮助:

我使用下面的命令,它没有问题:

rsync -av --progress -e ssh /folder1/folder2/* root@xxx.xxx.xxx.xxx:/folder1/folder2

首先考虑:

使用--rsync-path

我更喜欢shell脚本:

#!/bin/bash

RSYNC = /usr/bin/rsync

$RSYNC [options] [source] [destination]

第二个考虑:

通过下面的命令创建一个publick键,用于相关服务器之间的通信。 她与亚马逊提供的不一样。

ssh-keygen -t rsa

不要忘记在/ etc / ssh / sshd_config(UBUNTU和CENTOS)中启用目标服务器的权限。

将文件从一个EC2实例同步到另一个EC2实例

http://ask-leo.com/how_can_i_automate_an_sftp_transfer_between_two_servers.html

使用-v选项可以获得详细信息并更好地识别错误。

第三个考虑因素

如果两个服务器都在EC2上,请由安全组限制

在安全组服务器目标中:

inbound:源服务器的源/ TCP端口22 / IP安全性(或组名)

以下是我使用的和它的工作原理。 来源是ec2,目标是家用机器。

 sudo rsync  -azvv -e "ssh -i /home/ubuntu/key-to-ec2.pem" ec2-user@xx.xxx.xxx.xx:/home/ec2-user/source/ /home/ubuntu/target/

将文件从本地计算机复制到服务器

rsync -avz -e "ssh -i /path/to/key.pem" /path/to/file.txt  <username>@<ip/domain>:/path/to/directory/

将文件从服务器复制到本地计算机

rsync -avz -e "ssh -i /path/to/key.pem" <username>@<ip/domain>:/path/to/directory/file.txt  /path/to/directory/

这对我有用:

nohup rsync -zravu --partial --progress  -e "ssh -i xxxx.pem" ubuntu@xx.xx.xx.xx:/mnt/data   /mnt2/ &

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM