Question : Lorsque j'exécute rsync, il me demande mon mot de passe sur le serveur distant avant de lancer le transfert. Je voudrais éviter cela et effectuer rsync sans mot de passe. Pouvez-vous expliquer avec un exemple comment configurer rsync sur ssh sans mot de passe sous Linux ?
Réponse : Les étapes suivantes expliquent comment configurer rsync sur ssh qui ne demande pas de mot de passe. Ceci est utile lorsque vous planifiez une tâche cron pour une sauvegarde automatique à l'aide de rsync.
1. Testez rsync sur ssh (avec mot de passe) :
Effectuez une rsync pour vous assurer qu'il demande le mot de passe de votre compte sur le serveur distant et copie avec succès les fichiers sur le serveur distant.
L'exemple suivant synchronisera le dossier local /home/ramesh avec le dossier distant /backup/ramesh (sur le serveur 192.168.200.10).
Nous avons discuté en détail de rsync dans nos 15 articles précédents sur les exemples de rsync.
Cela devrait vous demander le mot de passe de votre compte sur le serveur distant.
rsync -avz -e ssh /home/ramesh/ [email protected]:/backup/ramesh/
2. ssh-keygen génère des clés.
Maintenant, configurez ssh pour qu'il ne demande pas de mot de passe lorsque vous exécutez ssh. Utilisez ssh-keygen sur le serveur local pour générer des clés publiques et privées.
$ ssh-keygen Enter passphrase (empty for no passphrase): Enter same passphrase again:
Remarque : Lorsqu'il vous demande d'entrer la phrase secrète, appuyez simplement sur la touche Entrée et ne donnez aucun mot de passe ici.
3. ssh-copy-id copie la clé publique sur l'hôte distant
Utilisez ssh-copy-id pour copier la clé publique sur l'hôte distant.
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.200.10
Remarque : Ce qui précède vous demandera le mot de passe de votre compte sur l'hôte distant et copiera automatiquement la clé publique à l'emplacement approprié. Si ssh-copy-id ne fonctionne pas pour vous, utilisez la méthode dont nous avons parlé précédemment pour configurer le mot de passe ssh sans connexion.
4. Effectuer rsync sur ssh sans mot de passe
Maintenant, vous devriez pouvoir vous connecter en ssh à l'hôte distant sans entrer le mot de passe.
ssh 192.168.200.10
Effectuez à nouveau le rsync, il ne devrait pas vous demander de saisir de mot de passe cette fois.
rsync -avz -e ssh /home/ramesh/ [email protected]:/backup/ramesh/
Si vous souhaitez planifier automatiquement cette tâche de sauvegarde rsync, utilisez cron pour la configurer.