Le but de cet article est d’expliquer très simplement comment automatiser une tache entre 2 machines (via une connexion SSH) sans avoir à devoir taper son mot de passe (sinon, ce n’est plus une automatisation).
(En fait, comme cet article est écrit pour Yohan C, je me dois de réaliser un article très simple ; parfois, il a du mal le gars 😀 )
Je m’explique : j’ai une machine de travail (sous Linux) et je veux que cette machine synchronise ses données (avec Rsync) tous les soirs à 22h15 dans mon NAS (sous OpenMediaVault).
Pour cela, la commande Rsync est exécutée en ssh au moyen d’une tache crontab.
Il faut donc que la connexion ssh entre la machine et le serveur se fasse en automatique.
De ce fait, il est nécessaire de remplacer l’usage du mot de passe par un échange de clef privée/publique.
Générer une clé RSA sur son poste
ssh-keygen -t rsa
Attention, ne définissez surtout pas de passphrase !
Envoyer sa clé publique sur le serveur
Depuis votre machine (votre PC), tapez juste cette commande (en remplaçant ip-du-serveur par votre IP ou son nom) :
ssh-copy-id root@ip-du-serveur
Tester
Toujours depuis votre PC, tapez :
ssh root@ip-du-serveur
La connexion est dorénavant directe sans aucune demande de mot de passe
Utiliser
Cela va permettre de lancer des connexions sans aucune intervention humaine (comme voulu) avec une sauvegarde via rsync de manière autonome c’est à dire en tache cron.
Par exemple, sur le PC, on lance l’édition de la tache cron avec :
crontab -e
Puis on définit une tache de ce type :
15 22 * * * rsync -e ssh -avz --delete-after --exclude=".*" --exclude=".*/" /home/alban/ root@omv.local:/srv/dev-disk-by-uuid-4bc7f4df-034/Partage/Alban/
(Là, je demande de sauvegarder mon dossier perso (/home/alban) sur le NAS (mais également de supprimer du NAS les fichiers qui ont été supprimés sur mon PC) sauf les fichiers « système »)
Merci pour ce memo pour des commandes que j’oublie souvent !
Avec plaisir Valentin !
C’est un peu l’idée : que mes notes puissent aussi servir à d’autres 😉
Hey Alban,
Merci beaucoup pour cet article à portée de tous, même ceux qui ont du mal ! Encore une fois, bon travail !
Le gars 😉