From 4bbefb15f5e4b7aef870feb4628abac8aea9fa37 Mon Sep 17 00:00:00 2001 From: Thomas Constans Date: Tue, 13 Jan 2026 16:03:53 +0100 Subject: [PATCH] mise au point atelier borg --- Readme.md | 40 ++++++++++++++++++++++++++++++++++------ solution.md | 24 ++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 6 deletions(-) create mode 100644 solution.md diff --git a/Readme.md b/Readme.md index f6e770a..bb50869 100644 --- a/Readme.md +++ b/Readme.md @@ -1,5 +1,16 @@ # Sauvegardes +## Prérequis - connaissances nécessaires + +expansion ```$(command)``` + +variable d'environnement ( BORG_RSH ) + +option -i de ssh pour utiliser une clé non standard, ou config client ssh + +principe de la planification de tâches avec cron / systemd + + ## Sauvegarde de base http://localhost/doku.php?id=formation:opg:linux:sauvegardes#ops_1les_outils_-_tar @@ -31,26 +42,43 @@ En Binôme: ### Mise en place des accès - * Créer un compte utilisateur borgXX (XX étant votre n° de machine) - * Générer pour cet utilisateur une clé de type ed25519 nommée ~borgXX/.ssh/id_ed25519_borg, sans passphrase - * Autoriser borgXX a se connecter avec cette clé sur la machine du binôme + * Créer un compte utilisateur borg + * Générer pour root une clé de type ed25519 nommée ~root/.ssh/id_ed25519_borg, sans passphrase + * Permettre à root@localhost de se connecter en borg sur la machine du binôme avec cette clé + +vous utiliserez les adresses ip privées de vos machines **Validation: ** La commande suivante doit vous donner un shell sur la machine de votre binôme: ```bash -ssh -i ~borgXX/.ssh/id_ed25519_borg borg@machinebinome +sudo ssh -i ~root/.ssh/id_ed25519_borg borg@machinebinome ``` ### 1ère sauvegarde distante -Une fois la connexion fonctionnelle, initialiser un dépôt borg/ssh dans ~borgXX de la machine du binôme et y faire une sauvegarde borg manuelle de votre répertoire personnel. +Une fois la connexion fonctionnelle, initialiser un dépôt borg/ssh dans ~borg de la machine du binôme et y faire une sauvegarde borg manuelle de votre répertoire personnel. + +Pour utiliser la clé distante, vous aurez besoin de définir la variable d'environnement BORG_RSH ( cf man borg ) + + +```bash +BORG_RSH='ssh -i ~root/.ssh/id_ed25519_borg' borg init --encryption repokey ssh://borg@100.0.8.1/home/borg/XX +``` + +Faire ensuite une sauvegarde: + +``` +BORG_PASSPHRASE=123Soleil BORG_RSH='ssh -i ~root/.ssh/id_ed25519_borg' borg create ssh://borg@100.0.8.1/home/borg/XX::$(date -Imin)_home /home +``` + +borgbackup init -e repokey ssh://borg1@100.0.8.1/home/borg1/22 ### Sécurisation Enfin, rajouter les contraintes suivantes: - * borgXX ne peut se connecter que depuis la machine XX + * borg ne peut se connecter que depuis la machine * la seule commande que borgXX peut exécuter via ssh est la commande ```borg serve --restrict-to-path /home/borg/backups``` ### Automatisation diff --git a/solution.md b/solution.md new file mode 100644 index 0000000..55883c3 --- /dev/null +++ b/solution.md @@ -0,0 +1,24 @@ +# serveur reception 100.0.8.1 + +```bash +useradd -d /home/borg -m -s /bin/bash borg +echo borg:123Soleil | chpasswd +``` + +contenu de ~borg/.ssh/authorized_keys: + +```txt +from="100.0.8.22",command="borg serve --restrict-to-path /home/borg/" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICZH4GD9hPLi499S5GYnXLi5CsAFu19f79QaE3cB34n6 root@SUB2-22 +``` + +# serveur emetteur 100.0.8.22 + +```bash +sudo ssh-keygen -t ed25519 -f /root/.ssh/id_ed25519_borg +sudo ssh-copy-id -i /root/.ssh/id_ed25519_borg borg@100.0.8.1 +sudo BORG_PASSPHRASE=123Soleil BORG_RSH='ssh -i ~root/.ssh/id_ed25519_borg' borg init --encryption repokey ssh://borg@100.0.8.1/home/borg/22 +sudo BORG_PASSPHRASE=123Soleil BORG_RSH='ssh -i ~root/.ssh/id_ed25519_borg' borg create ssh://borg@100.0.8.1/home/borg/22::$(date -Imin)_home /home +sudo BORG_PASSPHRASE=123Soleil BORG_RSH='ssh -i ~root/.ssh/id_ed25519_borg' borg list ssh://borg@100.0.8.1/home/borg/22 +sudo BORG_PASSPHRASE=123Soleil BORG_RSH='ssh -i ~root/.ssh/id_ed25519_borg' borg list ssh://borg@100.0.8.1/home/borg/22::$(date -Imin)_home /home +BORG_PASSPHRASE=123Soleil BORG_RSH='ssh -i ~root/.ssh/id_ed25519_borg' borg key export ssh://borg@100.0.8.1/home/borg/22 +```