我有一个正在运行的EC2实例,并且能够通过SSH进入该实例。
但是,当我尝试rsync时,它给我错误Permission Densed(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 -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/
这似乎可以解决问题。