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/
Спасибо,
Ответы
Ответ 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/ &