我有一个EC2实例中运行,我能够SSH到它。
然而,当我尝试rsync的,它给了我否定的错误权限(公钥)。
我使用的命令是:
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路径
我更喜欢在shell脚本:
#!/bin/bash
RSYNC = /usr/bin/rsync
$RSYNC [options] [source] [destination]
第二个考虑:
通过创建下面的命令有问题的服务器之间的通信publick关键。 她会不会像亚马逊提供的相同。
ssh-keygen -t rsa
不要忘了在/ etc / SSH / sshd_config文件(UBUNTU和CentOS)在目标服务器上启用权限。
同步文件从一个EC2实例到另一个
http://ask-leo.com/how_can_i_automate_an_sftp_transfer_between_two_servers.html
使用的详细-v选项和更好的识别错误。
第三个考虑因素
如果两个服务器上EC2使通过安全组约束
在安全组服务器目的地:
入站:源服务器的源/ 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/ &