Comment utiliser un fichier d'identité avec rsync?
C'est la syntaxe que je pense que je devrais utiliser avec rsync pour utiliser un fichier d'identité pour me connecter:
rsync -avz -e 'ssh -p1234 -i ~ / .ssh / 1234-identity' \ "/ local / dir /" [email protected]: "/ remote / dir /"
Mais ça me donne une erreur:
Avertissement: fichier d'identité ~ / .ssh / 1234-identity non accessible: aucun fichier ou répertoire de ce type.
Le fichier est bien, les permissions sont définies correctement, cela fonctionne lorsque vous faites ssh - mais pas avec rsync - du moins dans ma syntaxe. Qu'est-ce que je fais mal? Essaie-t-il de rechercher le fichier d'identité sur la machine distante? Si tel est le cas, comment spécifier que je souhaite utiliser un fichier d'identité sur ma machine locale ?
User ubuntu
lors de la configuration d'une instance EC2 Ubuntu :) Merci!fish
), faites-leeval (ssh-agent -c)
Utilisez soit
$HOME
ou chemin complet vers la clé:
Testé avec rsync 3.0.9 sur Ubuntu
la source
$HOME
ne fonctionnera pas entre des guillemets simples (pas de développement de variable), vous devez donc utiliser des guillemets doubles ou le chemin absolu."$HOME"
ou$HOME
sans aucune différence (c'est également"${HOME}"
possible, si vous voulez compliquer les choses)Vous devez spécifier le chemin absolu vers votre fichier de clé d'identité. C'est probablement une sorte de quirck dans rsync. (ça ne peut pas être parfait après tout)
J'ai rencontré ce problème il y a quelques jours à peine :-)
la source
Cela fonctionne pour moi
la source
/home/user/.ssh/1234-identity
. Ensuite, cela a fonctionné. Peut-être parce que c'est alors une coquille différente, comme suggéré dans la réponse de Darhuuk.Exécutez-vous la commande dans bash ou sh? Cela pourrait faire une différence. Essayez de remplacer
~
par$HOME
. Essayez de mettre entre guillemets la chaîne de l'-e
option.la source
utilisez le fichier de clé avec rsync:
la source