# Comment installer un serveur de sauvegarde Borg sur un VPS de stockage ?

> Installer un serveur de sauvegarde Borg sur un VPS : utilisateur borg, borg serve --append-only dans authorized_keys, repokey, prune et compact | $1.66

- URL: https://coffervale.com/fr/borg-backup-server-on-a-vps/
- Dernière mise à jour: 2026-11-02
- Éditeur: Coffervale (https://coffervale.com)

Un serveur Borg n'est rien de plus qu'un compte SSH autorisé à exécuter une seule commande. Verrouillez cette commande par clé, gardez les clients en append-only et lancez le pruning depuis un endroit qu'un attaquant ne peut pas atteindre.

**Réponse rapide — Comment installer un serveur de sauvegarde Borg sur un VPS ?**

Pour installer un serveur de sauvegarde Borg sur un VPS, installez Borg 1.x des deux côtés, créez un utilisateur `borg` et forcez `borg serve --restrict-to-path --append-only` sur chaque clé client. Initialisez chaque dépôt avec `repokey` ; lancez prune et compact depuis une clé d'administration distincte. Un VPS **Coffervale** de 1 TB coûte $1.66 par mois sur 12 mois (2 November 2026).

## Quelles sont les étapes, dans l'ordre ?

1. **Installer le même Borg 1.x sur le serveur et les clients** — apt install borgbackup sur Debian ou Ubuntu, puis comparez borg --version des deux côtés.
2. **Créer un utilisateur borg et un dossier de dépôt** — Un seul compte non privilégié sur le VPS possède tous les dépôts ; les clients n'obtiennent jamais de shell.
3. **Forcer borg serve dans authorized_keys** — Une ligne par clé client, chacune limitée à son propre chemin avec --restrict-to-path et --append-only.
4. **Initialiser le dépôt avec repokey** — Lancez borg init --encryption=repokey depuis le client, puis exportez la clé et stockez-la hors des deux machines.
5. **Planifier borg create sur le client** — Chaque jour depuis cron ou un timer systemd, avec la passphrase lue par BORG_PASSCOMMAND.
6. **Prune et compact depuis une clé d'administration** — Une seconde clé sans --append-only, utilisée depuis une machine de confiance après vérification de la liste des archives.
7. **Vérifier le dépôt et tester une restauration** — borg check chaque semaine, --verify-data chaque mois, et une vraie borg extract tous les quelques mois.

## Quelle version de Borg le serveur doit-il exécuter ?

**Exécutez Borg 1.x des deux côtés : la 1.4.5 était la dernière version stable au 2 novembre 2026, et Borg 2 est encore en bêta.** La page de Borg 2.0 la présente comme une version majeure incompatible avec les dépôts Borg 1.x, et renomme `borg init` en `borg repo-create`. Sur Debian 13, le paquet à installer est `borgbackup` (1.4.0 dans trixie) ; le paquet `borgbackup2` séparé est une bêta de la 2.0. Installez la même version sur le serveur et sur chaque client.

*Sur le VPS de stockage, en root : Borg, un utilisateur borg, un dossier par client*

```bash
apt install borgbackup
borg --version

useradd --create-home --home-dir /srv/borg --shell /bin/sh borg
install -d -m 700 -o borg -g borg /srv/borg/.ssh /srv/borg/repos
install -d -m 700 -o borg -g borg /srv/borg/repos/laptop /srv/borg/repos/web1
```

## Comment verrouiller chaque client sur son propre dépôt ?

**Placez une commande forcée `borg serve` devant chaque clé dans `/srv/borg/.ssh/authorized_keys`, pour que la clé puisse exécuter Borg et rien d'autre.** Le mot-clé `restrict` bloque le transfert de ports, le transfert d'agent et les terminaux, et la documentation de Borg précise qu'il couvre aussi les fonctionnalités SSH ajoutées dans les versions futures. Les exemples supposent un shell POSIX comme shell de connexion du compte, c'est pourquoi l'utilisateur ci-dessus obtient `/bin/sh`.

- `--restrict-to-path PATH` autorise ce chemin et tous les dossiers en dessous, ce qui permet à un client de garder plusieurs dépôts.
- `--restrict-to-repository PATH` est plus strict : exactement un dépôt, pas de sous-dossiers.
- `--append-only` permet à la clé d'ajouter des archives mais pas de supprimer des données du dépôt.
- `--storage-quota 500G` plafonne ce qu'une clé peut stocker, pour qu'un client emballé ne puisse pas remplir le disque.

Chaque ligne reste sur une seule ligne dans le fichier ; la clé admin à la fin n'a pas de `--append-only` et sert uniquement à l'élagage.

*/srv/borg/.ssh/authorized_keys (owner borg, mode 600)*

```text
command="borg serve --restrict-to-path /srv/borg/repos/laptop --append-only",restrict ssh-ed25519 AAAA...laptop-key... laptop
command="borg serve --restrict-to-path /srv/borg/repos/web1 --append-only --storage-quota 500G",restrict ssh-ed25519 AAAA...web1-key... web1
command="borg serve --restrict-to-path /srv/borg/repos",restrict ssh-ed25519 AAAA...admin-key... admin
```

*Corrigez la propriété après modification, en root*

```bash
chown borg:borg /srv/borg/.ssh/authorized_keys
chmod 600 /srv/borg/.ssh/authorized_keys
```

## Comment créer le dépôt avec le chiffrement repokey ?

**Exécutez `borg init --encryption=repokey` depuis le client, puis exportez la clé et gardez-la en dehors du VPS et de la machine que vous sauvegardez.** La documentation de Borg recommande `repokey` avec une phrase de passe robuste comme règle de base ; `repokey-blake2` est le même mode avec un hachage BLAKE2b, probablement plus rapide sur les processeurs sans accélération matérielle de SHA-256. Avec `repokey`, la clé se trouve dans le fichier `config` du dépôt, scellé par votre phrase de passe. Perdez la phrase de passe et les sauvegardes deviennent illisibles, pour vous comme pour tout le monde. Borg précise aussi que vous devez conserver une copie de la clé hors site, par exemple sur papier.

*Sur le client (ici : le portable)*

```bash
ssh-keygen -t ed25519 -N '' -C 'borg laptop' -f ~/.ssh/borg_ed25519

cat >> ~/.ssh/config <<'EOF'
Host coffer-borg
    HostName 203.0.113.10
    User borg
    IdentityFile ~/.ssh/borg_ed25519
    IdentitiesOnly yes
EOF

export BORG_REPO=ssh://coffer-borg/srv/borg/repos/laptop/main
borg init --encryption=repokey
borg key export --paper "$BORG_REPO" ~/borg-laptop-key.txt
```

*/usr/local/sbin/borg-backup on a server client, run daily as root*

```bash
#!/bin/sh
export BORG_REPO=ssh://coffer-borg/srv/borg/repos/web1/main
# the passphrase file belongs to root, mode 600
export BORG_PASSCOMMAND='cat /root/.config/borg/passphrase'

borg create --stats --compression zstd,3 \
    ::'{hostname}-{now:%Y-%m-%dT%H:%M}' \
    /etc /home /var/www
```

## Comment élaguer et compacter un dépôt en mode append-only ?

**Depuis une machine admin de confiance, avec la clé qui n'a pas de `--append-only`, après avoir vérifié qu'aucune archive n'a disparu.** En mode append-only, expliquent les notes de Borg, `prune` et `delete` s'exécutent toujours mais ne font que marquer les données comme supprimées dans une nouvelle transaction, et la compaction n'a jamais lieu, sans avertissement ni erreur. L'espace du dépôt n'est libéré qu'une fois `borg compact` exécuté depuis une clé autorisée à réécrire.

Les mêmes notes portent le piège : la première écriture en mode normal rend définitives toutes les suppressions antérieures, y compris celles qu'un attaquant a faites via une clé client. Listez donc d'abord les archives. S'il en manque, arrêtez-vous et suivez les étapes de récupération des notes append-only de Borg avant d'élaguer quoi que ce soit. Une tâche cron qui élague automatiquement avec une clé sans restriction rend le mode append-only inutile. La documentation de Borg recommande aussi un `--dry-run` avec `--list` avant chaque élagage réel.

*Sur la machine admin, Host coffer-admin avec la clé admin*

```bash
export BORG_REPO=ssh://coffer-admin/srv/borg/repos/web1/main

borg list
borg prune -v --list --dry-run --keep-daily=7 --keep-weekly=4 --keep-monthly=6
borg prune -v --list --keep-daily=7 --keep-weekly=4 --keep-monthly=6
borg compact
```

## Comment vérifier le dépôt et prouver qu'une restauration fonctionne ?

**Exécutez `borg check` chaque semaine, `borg check --verify-data` chaque mois, et extrayez de vrais fichiers sur une autre machine tous les quelques mois.** Une vérification simple contrôle le dépôt et les métadonnées des archives. `--verify-data` lit, déchiffre et décompresse chaque chunk, ce que Borg qualifie de très gourmand en temps, et sur les disques durs ça l'est. Pour un gros dépôt, `--repository-only --max-duration 3600` découpe la vérification du dépôt en tranches d'une heure qui reprennent là où elles se sont arrêtées. Rien de tout cela ne remplace une vraie restauration : une sauvegarde ne vaut que par la dernière fois où vous en avez sorti des données.

*Vérifications et restauration de test, depuis le client*

```bash
export BORG_REPO=ssh://coffer-borg/srv/borg/repos/web1/main

borg check -v
borg check -v --verify-data
borg check -v --repository-only --max-duration 3600

mkdir -p /tmp/restore-test && cd /tmp/restore-test
borg list
borg extract --list ::web1-2026-11-02T03:00 etc/nginx
```

## Combien coûte une cible Borg par rapport à un stockage Borg hébergé ?

**Selon l'enquête de Coffervale du 2 novembre 2026, le stockage Borg hébergé coûtait $9.17 par To et par mois chez BorgBase (offre Medium 1 To, $110.00 par an) et $15.00 par To chez rsync.net, tandis que les offres de VPS de stockage chez des hébergeurs qui acceptent la crypto sans document d'identité affichaient une médiane de $4.00 par To.** Les services hébergés exécutent le serveur pour vous ; un VPS de stockage vous donne root et la configuration ci-dessus, un choix pesé dans [Un VPS de stockage est-il une alternative moins chère à rsync.net ou BorgBase ?](https://coffervale.com/fr/rsync-net-alternative/ "Storage VPS against hosted Borg storage"). Nous ne faisons aucune sauvegarde de votre serveur et ne conservons aucune copie de vos données ailleurs, ce qui se trouve sur un VPS de stockage Coffervale doit donc être l'une de vos copies, jamais la seule, donc le serveur Borg n'est qu'une copie parmi plusieurs, comme l'explique [Comment utiliser un VPS pour des sauvegardes hors site ?](https://coffervale.com/fr/backup-vps/ "Off-site backups and 3-2-1 with a storage VPS"). L'offre 1 To est détaillée dans [Où trouver un VPS avec 1 To de stockage ?](https://coffervale.com/fr/1tb-vps/ "1 TB storage VPS"), et si vous préférez restic, lisez [Restic : serveur REST ou SFTP pour des sauvegardes vers un VPS ?](https://coffervale.com/fr/restic-rest-server-vs-sftp/ "restic on a storage VPS"). Pour chiffrer aussi le disque du VPS, voir [Comment monter et formater le disque de stockage sur un VPS Linux ?](https://coffervale.com/fr/mount-storage-disk-on-a-vps/ "Mount and encrypt the data disk").

### Cibles Borg par To et par mois, 2 novembre 2026

| Cible Borg | Par To et par mois | Ce que vous hébergez vous-même | Payé en crypto |
| --- | --- | --- | --- |
| BorgBase Medium, 1 To | $9.17 ($110.00 par an) | Rien : dépôts Borg et restic hébergés | Non précisé |
| rsync.net, palier 0 à 9 To | $15.00 | Rien : stockage ZFS accessible via SSH | Non précisé |
| VPS de stockage, médiane de 99 offres | $4.00 | Le serveur Borg configuré sur cette page | Oui : des hébergeurs qui acceptent la crypto sans document d'identité |
| Coffervale Clay, 1 TB | $1.66 sur 12 mois | Le serveur Borg configuré sur cette page | BTC, USDT, USDC, ETH, SOL, LTC, XMR |

*Prix vérifiés le 2 novembre 2026.*

Prix relevés sur la page de chaque service le 2 novembre 2026. BorgBase facture l'offre Medium à l'année et indique des prix hors TVA ; la médiane des VPS de stockage couvre les offres de 500 GB ou plus, en stock et facturées au mois.

## Questions sur un serveur de sauvegarde Borg

### Le client et le serveur doivent-ils avoir la même version de Borg ?

Gardez les deux sur Borg 1.x, idéalement la même version. Borg 2 est encore en bêta, utilise un nouveau format de dépôt et ne peut pas ouvrir directement les dépôts 1.x. Sur Debian 13, installez `borgbackup`, pas `borgbackup2`.

### Faut-il utiliser --restrict-to-path ou --restrict-to-repository ?

`--restrict-to-path` autorise un dossier et tout ce qu'il contient, pratique quand un client garde plusieurs dépôts. `--restrict-to-repository` autorise exactement un dépôt et aucun sous-dossier, le choix le plus strict quand chaque client n'en a qu'un.

### Pourquoi mon dépôt ne rétrécit-il pas après borg prune ?

Prune ne fait que marquer les archives comme supprimées ; `borg compact` libère l'espace. Via une clé append-only, la compaction n'a jamais lieu, donc élaguez et compactez depuis la clé admin.

### Un seul VPS de stockage peut-il héberger des dépôts Borg pour plusieurs machines ?

Oui. Donnez à chaque machine sa propre ligne de clé dans `authorized_keys`, son propre chemin et, si le disque est partagé, son propre `--storage-quota`. Un client compromis n'atteint alors qu'un seul dépôt.

### Que se passe-t-il si je perds la phrase de passe Borg ?

Le dépôt devient illisible définitivement. Borg ne peut pas le récupérer, et l'hôte non plus. Gardez la phrase de passe dans un gestionnaire de mots de passe et la clé exportée sur papier, à l'écart du VPS et du client.

## Sources

1. [Documentation Borg 1.4.5 : héberger des dépôts](https://borgbackup.readthedocs.io/en/stable/deployment/hosting-repositories.html) — BorgBackup project (read 2026-11-02)
2. [Documentation Borg 1.4.5 : borg serve (options restrict, append-only, quota de stockage)](https://borgbackup.readthedocs.io/en/stable/usage/serve.html) — BorgBackup project (read 2026-11-02)
3. [Documentation Borg 1.4.5 : borg init (modes de chiffrement, sauvegarde de la clé)](https://borgbackup.readthedocs.io/en/stable/usage/init.html) — BorgBackup project (read 2026-11-02)
4. [Documentation Borg 1.4.5 : borg prune](https://borgbackup.readthedocs.io/en/stable/usage/prune.html) — BorgBackup project (read 2026-11-02)
5. [Documentation Borg 1.4.5 : borg compact](https://borgbackup.readthedocs.io/en/stable/usage/compact.html) — BorgBackup project (read 2026-11-02)
6. [Documentation Borg 1.4.5 : borg check](https://borgbackup.readthedocs.io/en/stable/usage/check.html) — BorgBackup project (read 2026-11-02)
7. [Documentation Borg 1.4.5 : notes complémentaires, mode append-only](https://borgbackup.readthedocs.io/en/stable/usage/notes.html) — BorgBackup project (read 2026-11-02)
8. [Documentation Borg 1.4.5 : Quick start (BORG_PASSCOMMAND)](https://borgbackup.readthedocs.io/en/stable/quickstart.html) — BorgBackup project (read 2026-11-02)
9. [Borg 2.0 (informations préliminaires)](https://www.borgbackup.org/releases/borg-2.0.html) — BorgBackup project (read 2026-11-02)
10. [Versions de BorgBackup (1.4.5 la plus récente, 2.0.0b25 en pré-version)](https://github.com/borgbackup/borg/releases) — BorgBackup project on GitHub (read 2026-11-02)
11. [Paquets Debian trixie : borgbackup 1.4.0, borgbackup2 2.0.0b19](https://packages.debian.org/search?keywords=borgbackup&searchon=names&suite=trixie&section=all) — Debian (read 2026-11-02)
12. [Plans et tarifs](https://www.borgbase.com/) — BorgBase (read 2026-11-02)
13. [Tarifs du stockage cloud](https://www.rsync.net/pricing.html) — rsync.net (read 2026-11-02)

---

Coffervale: Coffervale vend des VPS de stockage en Europe : des serveurs KVM avec 500 GB à 8 TB de stockage HDD pour les sauvegardes hors site, Nextcloud, Seafile, Syncthing et les archives, payables en crypto sans pièce d'identité à l'inscription. Les serveurs tournent à Amsterdam, Bucarest et Chișinău, et l'opérateur est DomaineGoat LLC, une société enregistrée au Panama. Sur l'engagement de 12 mois, chaque formule est facturée au moins 25 % par mois sous un VPS de stockage comparable nommé, choisi parmi 10 hébergeurs crypto sans KYC dont les prix ont été relevés le 2 novembre 2026.
