2013-04-05 7 views
28

EC2 인스턴스가 실행 중이며 SSH로 연결할 수 있습니다.Amazon EC2 인스턴스에 대한 Rsync

그러나 rsync를 시도하면 Permission denied (publickey) 오류가 발생합니다.

내가 사용 명령은 다음과 같습니다

rsync -avL --progress -e ssh -i ~/mykeypair.pem ~/Sites/my_site/* [email protected]:/var/www/html/ 

나는 또한 내가 그냥 같은 오류가 발생

+0

어떻게 SSHing하고 있습니까? –

+0

잘못된 키를 사용한다는 점을 제외하면 두 번째 버전이 대부분입니다. ssh 명령 다음에 소스 경로를 이동해야 할 수도 있습니다. – datasage

답변

48

rsync -avz ~/Sites/mysite/* -e "ssh -i ~/.ssh/id_rsa.pub" [email protected]:/var/www/html/ 

감사

을 시도했다. 나는 함께 SSH를 지속적으로 할 수 있었다 :

ssh -i ~/path/mykeypair.pem \ 
[email protected] 

그러나 더 이상 rsync를 건설을 사용하는 경우,이 오류가 발생할 것 같았다. 인용문에 ssh 문을 넣고 키의 전체 경로를 사용하는 것으로 끝 맺었습니다. 예 :

rsync -avL --progress -e "ssh -i /path/to/mykeypair.pem" \ 
     ~/Sites/my_site/* \ 
     [email protected]:/var/www/html/ 

트릭을 수행하는 것으로 보입니다. 나는 아래의 명령을 사용하고

과 문제없이 일했다 :

+0

cmd의 자세한 표시에 문제가있는 경우 [aws-upload] (https://github.com/borracciaBlu/aws-upload)를 시도해 볼 수 있습니다. – borracciaBlu

10

조금 고통 후에, 나는이 도움이 될 것입니다 생각

rsync -av --progress -e ssh /folder1/folder2/* [email protected]:/folder1/folder2 

첫 번째 고려 사항 :

사용 --rsync-path

필자는 쉘 스크립트에서 선호합니다 :

#!/bin/bash 

RSYNC = /usr/bin/rsync 

$RSYNC [options] [source] [destination] 

두 번째 고려 사항 :

문제의 서버 사이의 통신을 위해 아래의 명령에 의해 퍼블릭 키를 만듭니다. 그녀는 아마존이 제공 한 것과 같지 않을 것입니다.

ssh-keygen -t rsa 

는은/etc/SSH/sshd_config에 (우분투에 CentOS)에서 대상 서버에 권한을 가능하게하는 것을 잊지 마십시오.

Sync files from one EC2 instance to another

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

자세한 정보와 더 나은 식별 오류를 사용 -v 옵션

.

세 번째 고려

두 서버가 EC2에있는 경우 보안 그룹 서버 대상에서 보안 그룹

에 의한 억제합니다

인바운드 : 소스/TCP 포트 22/IP를 원본 서버의 보안 (또는 그룹 이름)

+0

네, 제게이 솔루션을 제공해 주셔서 감사합니다. –

+0

. 너는 구세주 야! ask-leo 사이트는 2 대의 서버간에 파일을 이동하려는 사람들에게 좋은 리소스입니다. – zock

7

다음은 내가 사용하고 작동 한 것입니다. 근원은 ec2이고 표적은 가정 기계이었다.

sudo rsync -azvv -e "ssh -i /home/ubuntu/key-to-ec2.pem" [email protected]:/home/ec2-user/source/ /home/ubuntu/target/ 
1

이 나를 위해 일한 : 위의 요약하면

nohup rsync -zravu --partial --progress -e "ssh -i xxxx.pem" [email protected]:/mnt/data /mnt2/ & 
0

는 서버에 로컬 컴퓨터에서 로컬 컴퓨터

에 서버에서

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/ 
관련 문제