2013-04-05 41 views
28

Tôi có một cá thể EC2 đang chạy và tôi có thể SSH vào nó.Rsync đến Amazon Ec2 Instance

Tuy nhiên, khi tôi cố gắng rsync, nó mang lại cho tôi lỗi Permission denied (publickey).

Lệnh Tôi đang sử dụng là:

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

Tôi cũng đã cố gắng

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

Cảm ơn,

+0

Làm thế nào để bạn có thể sử dụng nó? –

+0

Phiên bản thứ hai của bạn chủ yếu là đúng, ngoại trừ bạn đang sử dụng khóa sai. Bạn cũng có thể cần phải di chuyển đường dẫn nguồn sau lệnh ssh. – datasage

Trả lời

48

Tôi vừa nhận được rằng lỗi tương tự. Tôi đã luôn thể ssh với:

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

Nhưng khi sử dụng lâu hơn rsync xây dựng, nó dường như gây ra lỗi. Tôi đã kết thúc việc theo đuổi câu lệnh ssh trong các trích dẫn và sử dụng đường dẫn đầy đủ đến khóa. Trong ví dụ của bạn:

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

Điều đó dường như làm điều đó.

+0

nếu bạn gặp sự cố với độ dài của cmd, bạn có thể thử [aws-upload] (https://github.com/borracciaBlu/aws-upload). – borracciaBlu

10

Sau khi bị một chút, tôi tin rằng điều này sẽ giúp:

Tôi đang sử dụng lệnh dưới đây và nó đã làm việc mà không vấn đề:

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

xem xét đầu tiên:

Sử dụng the --rsync-path

Tôi thích trong tập lệnh shell:

#!/bin/bash 

RSYNC = /usr/bin/rsync 

$RSYNC [options] [source] [destination] 

Thứ hai xem xét:

Tạo một khóa publick bởi lệnh dưới đây để liên lạc giữa các máy chủ trong câu hỏi. Cô ấy sẽ không giống như được cung cấp bởi Amazon.

ssh-keygen -t rsa 

Đừng quên bật quyền trên máy chủ đích trong/etc/ssh/sshd_config (UBUNTU và CENTOS).

Sync files from one EC2 instance to another

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

Sử dụng -v tùy chọn cho các lỗi verbose và xác định tốt hơn.

thứ ba xét

Nếu cả hai máy chủ đang trên EC2 làm cho một sự kiềm chế bởi nhóm bảo mật

Trong nhóm an ninh máy chủ Điểm đến:

inbound: cổng Nguồn/TCP 22/IP Bảo mật (hoặc tên nhóm) của máy chủ nguồn

+0

vâng điều này đã làm việc cho tôi quá –

+0

cảm ơn vì đã cung cấp giải pháp thứ hai. bạn là một vị cứu tinh! trang web ask-leo là một tài nguyên tốt cho những người cố di chuyển các tệp giữa 2 máy chủ – zock

7

Dưới đây là những gì tôi đã sử dụng và nó hoạt động. Nguồn là ec2 và mục tiêu là máy tính gia đình.

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

này đã làm việc cho tôi:

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

Để tóm tắt ở trên trả lời

sao chép tập tin từ máy tính cục bộ để máy chủ

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

sao chép tập tin từ máy chủ đến máy tính cục bộ

rsync -avz -e "ssh -i /path/to/key.pem" <username>@<ip/domain>:/path/to/directory/file.txt /path/to/directory/ 
Các vấn đề liên quan