Подтвердить что ты не робот

Rsync к экземпляру Amazon Ec2

У меня есть экземпляр EC2, и я могу использовать SSH.

Однако, когда я пытаюсь выполнить rsync, он дает мне ошибку Permission denied (publickey).

Используемая мной команда:

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

Я также пробовал

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

Спасибо,

4b9b3361

Ответ 1

Я только что получил ту же ошибку. Я всегда был в состоянии 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/

Казалось, что это трюк.

Ответ 2

Потерпев немного, я считаю, что это поможет:

Я использую команду ниже, и она работает без проблем:

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

Первое соображение:

Используйте путь -rsync

Я предпочитаю в оболочке script:

#!/bin/bash

RSYNC = /usr/bin/rsync

$RSYNC [options] [source] [destination]

Второе соображение:

Создайте ключ публикации по команде ниже для связи между указанными серверами. Она не будет такой же, как предоставлена ​​Amazon.

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 Security (или имя группы) исходного сервера

Ответ 3

Ниже я использовал и работал. Источник был ec2, а цель была домашней машиной.

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

Ответ 4

Это сработало для меня:

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