web-dev-qa-db-fra.com

Rsync vers l'instance Amazon Ec2

J'ai une instance EC2 en cours d'exécution et je peux y accéder en SSH.

Cependant, lorsque j'essaie de rsync, cela me donne l'erreur Autorisation refusée (publickey).

La commande que j'utilise est:

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

J'ai aussi essayé

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

Merci,

45
a53-416

Je viens de recevoir cette même erreur. J'avais toujours été capable de ssh avec:

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

Mais lors de l'utilisation de la construction rsync plus longue, cela semblait provoquer des erreurs. J'ai fini par encapsuler l'instruction ssh entre guillemets et utiliser le chemin d'accès complet à la clé. Dans votre exemple:

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

Cela semblait faire l'affaire.

79
natxty

Après avoir un peu souffert, je pense que cela aidera:

J'utilise la commande ci-dessous et cela a fonctionné sans problème:

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

Première considération:

Utilisez le chemin --rsync

Je préfère dans un script Shell:

#!/bin/bash

RSYNC = /usr/bin/rsync

$RSYNC [options] [source] [destination]

Deuxième considération:

Créez une clé publick par commande ci-dessous pour la communication entre les serveurs en question. Elle ne sera pas la même que celle fournie par Amazon.

ssh-keygen -t rsa

N'oubliez pas d'activer l'autorisation sur le serveur cible dans/etc/ssh/sshd_config (UBUNTU et CENTOS).

Synchroniser les fichiers d'une instance EC2 à une autre

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

Utilisez l'option -v pour les erreurs détaillées et mieux identifier.

Troisième considération

Si les deux serveurs sont sur EC2, effectuez une restriction par groupe de sécurité

Dans le groupe de sécurité Destination du serveur:

entrant: Source/TCP port 22/Sécurité IP (ou nom de groupe) du serveur source

10
rmsys

Voici ce que j'ai utilisé et cela a fonctionné. La source était ec2 et la cible était la machine domestique.

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

copier le fichier de la machine locale vers le serveur

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

copier le fichier du serveur vers la machine locale

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

Cela a fonctionné pour moi:

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