# Restic : REST server ou SFTP pour les sauvegardes vers un VPS de stockage ?

> Restic : REST server ou SFTP pour sauvegarder vers un VPS ? rest-server ajoute --append-only et --private-repos ; SFTP ne demande que SSH. 1 To $1.66.

- URL: https://coffervale.com/fr/restic-rest-server-vs-sftp/
- Dernière mise à jour: 2026-11-02
- Éditeur: Coffervale (https://coffervale.com)

Les deux backends stockent le même dépôt chiffré dans la même arborescence de dossiers. La différence tient à qui peut supprimer quoi, au nombre de personnes qui partagent le serveur, et au coût du protocole sur le réseau.

**Réponse rapide — Restic : REST server ou SFTP pour les sauvegardes vers un VPS ?**

Pour les sauvegardes restic vers un VPS, utilisez rest-server quand les clients ne doivent pas supprimer de snapshots : son mode `--append-only` refuse les suppressions et `--private-repos` garde chaque utilisateur dans son propre dossier. Utilisez SFTP quand une seule machine de confiance fait les sauvegardes et que vous ne voulez rien d'autre que SSH. Sur un VPS de stockage **Coffervale**, 1 To coûte $1.66 par mois sur 12 mois (2 November 2026).

## Quelle est la différence entre le REST server de restic et les backends SFTP ?

| Fonctionnalité | SFTP | rest-server |
| --- | --- | --- |
| Logiciel sur le VPS | OpenSSH, déjà installé | rest-server (paquet Debian 13 `restic-rest-server`, ou l'image Docker `restic/rest-server`) |
| Transport | SSH | HTTP ou HTTPS, port 8000 par défaut |
| Connexion | Clés SSH par compte Unix | Utilisateur et mot de passe HTTP depuis un fichier htpasswd (bcrypt ou SHA) |
| Le client peut supprimer les anciens snapshots | Oui | Non, avec `--append-only` |
| Utilisateurs séparés | Comptes Unix et permissions de dossiers | `--private-repos` : chaque utilisateur uniquement sous `/<user>/` |
| Organisation du dépôt sur le disque | Identique à un dépôt local | Identique à un dépôt local |
| Chiffrement du dépôt | restic, toujours activé | restic, toujours activé |

## rest-server est-il plus rapide que SFTP ?

**Le projet rest-server affirme que oui : comparé à SFTP, le backend REST est plus performant et monte mieux en charge.** Son README en donne la raison : SFTP transfère les données par blocs de 32 KiB au maximum et le serveur acquitte chaque paquet, tandis que REST envoie des fichiers entiers en HTTP. Le HTTP simple supprime aussi la surcharge TLS, puisque restic chiffre déjà tout ce qu'il envoie ; le README ajoute que HTTPS sert alors surtout à protéger la connexion. C'est l'affirmation du projet, pas un benchmark que nous avons réalisé. Sur un VPS de stockage avec des disques durs, ce sont souvent les disques et votre débit montant qui fixent le rythme avant le protocole.

Côté client, SFTP a un inconvénient connu : la documentation de restic signale que les serveurs SFTP ferment les connexions lorsqu'ils ne reçoivent rien pendant un moment, ce que de longs scans de fichiers inchangés peuvent déclencher.

## Quand SFTP simple est-il le meilleur choix ?

**Quand une machine à laquelle vous faites confiance sauvegarde vers son propre compte et que vous ne voulez ni service supplémentaire, ni port supplémentaire, ni nouvelle chose à patcher.** restic n'a besoin que de `restic -r sftp:user@host:/path init` et d'une clé SSH sans invite de phrase secrète, car une sauvegarde automatique ne peut pas s'arrêter pour la demander. La faiblesse est celle qui compte le plus face aux rançongiciels : qui contrôle le client peut aussi lancer `restic forget --prune` et supprimer tous les snapshots, car SFTP n'a pas de mode append-only.

Pour empêcher chaque compte SFTP de parcourir le reste du serveur, OpenSSH peut l'enfermer dans son propre dossier sans shell :

*/etc/ssh/sshd_config.d/restic-sftp.conf, then sshd -t && systemctl reload ssh*

```text
Match User restic-laptop
    ForceCommand internal-sftp
    ChrootDirectory /srv/restic-sftp/%u
    AllowTcpForwarding no
    X11Forwarding no
```

*Compte, chroot et dépôt, en root sur le VPS ; le client utilise ensuite sftp:restic-laptop@203.0.113.10:/repo*

```bash
useradd --no-create-home --home-dir /srv/restic-sftp/restic-laptop --shell /usr/sbin/nologin restic-laptop
install -d -m 755 -o root -g root /srv/restic-sftp/restic-laptop
install -d -m 700 -o restic-laptop -g restic-laptop /srv/restic-sftp/restic-laptop/repo
install -d -m 700 -o restic-laptop -g restic-laptop /srv/restic-sftp/restic-laptop/.ssh
echo 'ssh-ed25519 AAAA...client-key... laptop' > /srv/restic-sftp/restic-laptop/.ssh/authorized_keys
chown restic-laptop:restic-laptop /srv/restic-sftp/restic-laptop/.ssh/authorized_keys
chmod 600 /srv/restic-sftp/restic-laptop/.ssh/authorized_keys
```

## Comment lancer rest-server avec append-only et des dépôts privés ?

**Sur Debian 13, installez `restic-rest-server`, pointez-le vers un dossier de données hors de `/home`, et passez `--append-only --private-repos` plus TLS dans son fichier defaults.** Le service fourni par le paquet tourne sous l'utilisateur `restic-rest-server`, lit `BACKUP_DIR`, `LISTEN` et `ARGS` dans `/etc/default/restic-rest-server`, refuse de démarrer tant que `BACKUP_DIR` n'est pas défini, et masque `/home` au démon. Avec `--private-repos`, l'utilisateur `laptop` ne peut ouvrir que des dépôts sous `/laptop/`, si bien que plusieurs personnes peuvent partager un même VPS de stockage sans voir les snapshots des autres. Un certificat auto-signé suffit, car le client l'épingle avec `--cacert`.

*Sur le VPS de stockage, en root (Debian 13)*

```bash
apt install restic-rest-server apache2-utils openssl
install -d -m 750 -o restic-rest-server -g restic-rest-server /srv/restic

openssl req -x509 -newkey rsa:3072 -nodes -days 3650 \
    -keyout /etc/restic-rest-server/key.pem -out /etc/restic-rest-server/cert.pem \
    -subj '/CN=coffer-backup' -addext 'subjectAltName=IP:203.0.113.10'
chown root:restic-rest-server /etc/restic-rest-server/key.pem
chmod 640 /etc/restic-rest-server/key.pem

cat > /etc/default/restic-rest-server <<'EOF'
BACKUP_DIR=/srv/restic
LISTEN=:8000
ARGS="--htpasswd-file /etc/restic-rest-server/users.htpasswd --append-only --private-repos --tls --tls-cert /etc/restic-rest-server/cert.pem --tls-key /etc/restic-rest-server/key.pem"
EOF

htpasswd -B /etc/restic-rest-server/users.htpasswd laptop
chown root:restic-rest-server /etc/restic-rest-server/users.htpasswd
chmod 640 /etc/restic-rest-server/users.htpasswd
systemctl enable restic-rest-server
systemctl restart restic-rest-server
```

*Sur le client : identifiants dans un fichier privé, pas dans l'URL*

```bash
mkdir -p ~/.config/restic
scp root@203.0.113.10:/etc/restic-rest-server/cert.pem ~/.config/restic/coffer.pem

cat > ~/.config/restic/coffer.env <<'EOF'
RESTIC_REPOSITORY=rest:https://203.0.113.10:8000/laptop/
RESTIC_REST_USERNAME=laptop
RESTIC_REST_PASSWORD=the-htpasswd-password
RESTIC_PASSWORD_FILE=/home/me/.config/restic/repo-password
RESTIC_CACERT=/home/me/.config/restic/coffer.pem
EOF
chmod 600 ~/.config/restic/coffer.env

set -a; . ~/.config/restic/coffer.env; set +a
restic init
restic backup ~/Documents ~/Pictures
```

## Comment purger les snapshots quand rest-server est en append-only ?

**Lancez `forget --prune` depuis une machine d'admin de confiance via un chemin qui n'est pas en append-only, et écrivez la politique avec `--keep-within`.** rest-server conserve le dépôt dans la même organisation qu'un dépôt local, donc SFTP en root atteint exactement le même dossier, et le mot de passe du dépôt n'a jamais à être saisi sur le VPS.

La partie `--keep-within` compte. La documentation de restic décrit un attaquant qui ajoute des snapshots vides à un dépôt append-only pour qu'une politique comme un snapshot par semaine élimine les vrais ; une politique temporelle conserve à la fois les déchets et les snapshots légitimes. Elle n'aide que si l'horloge système est juste au moment où `forget` s'exécute, et ce n'est pas une raison pour sauter un coup d'œil à `restic snapshots` au préalable.

*Depuis la machine d'admin, jamais depuis le client*

```bash
restic -r sftp:root@203.0.113.10:/srv/restic/laptop snapshots
restic -r sftp:root@203.0.113.10:/srv/restic/laptop forget --keep-within 90d --prune
restic -r sftp:root@203.0.113.10:/srv/restic/laptop check --read-data-subset=5%
```

## Quel backend choisir ?

**Choisissez rest-server dès que la machine sauvegardée est exposée à internet ; choisissez SFTP pour une machine unique et bien tenue, où la simplicité l'emporte.** Une cible append-only ne peut pas être vidée par l'attaquant qui chiffre votre serveur, et cette seule propriété pèse plus que le démon supplémentaire.

| Votre situation | Backend | Pourquoi |
| --- | --- | --- |
| Un seul portable ou poste de bureau, un seul compte | SFTP | Rien à installer, aucun port supplémentaire |
| Serveurs publics susceptibles d'être piratés | rest-server `--append-only` | Un client volé ne peut pas supprimer l'historique |
| Plusieurs personnes ou machines sur un VPS | rest-server `--private-repos` | Chaque connexion ne voit que son propre dossier |
| Seul HTTP ou HTTPS autorisé en sortie du réseau | rest-server | Fonctionne là où SSH est bloqué |
| Les deux : clients en append-only, admin purge | rest-server pour les clients, SFTP en root pour l'admin | Même dossier, deux niveaux d'accès |

## Combien coûte une cible restic par To ?

**Selon l'enquête de Coffervale du 2 novembre 2026, Backblaze B2, un object store que restic prend en charge nativement, coûtait $6.95 par To et par mois, tandis que les offres de VPS de stockage chez des hébergeurs qui acceptent la crypto sans pièce d'identité affichaient une médiane de $4.00 par To.** Un object store ne demande aucun serveur à maintenir mais n'offre aucun des deux backends abordés ici ; un VPS de stockage fait tourner les deux. 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 : le VPS est votre copie hors site, comme l'explique [Comment utiliser un VPS pour des sauvegardes hors site ?](https://coffervale.com/fr/backup-vps/ "Off-site backups and the 3-2-1 rule"). Si vous préférez utiliser Borg, suivez [Comment installer un serveur de sauvegarde Borg sur un VPS ?](https://coffervale.com/fr/borg-backup-server-on-a-vps/ "Borg server with append-only keys") ; pour chiffrer le disque en dessous, voir [Comment monter et formater le disque de stockage sur un VPS Linux ?](https://coffervale.com/fr/mount-storage-disk-on-a-vps/ "Format, mount and encrypt the data disk"). Les offres et conditions sont sur [Combien coûte un VPS de stockage par mois ?](https://coffervale.com/fr/pricing/ "Coffervale storage VPS prices").

## Questions sur restic sur un VPS

### restic via SFTP est-il chiffré ?

Deux fois. restic chiffre chaque fichier qu'il stocke avec AES-256 et l'authentifie avec Poly1305-AES avant l'envoi, et SSH chiffre la connexion. Le VPS ne contient jamais que du texte chiffré.

### rest-server a-t-il besoin de HTTPS si restic chiffre déjà les données ?

Oui, pour la connexion. Sans TLS, l'utilisateur et le mot de passe HTTP traversent le réseau en clair, et quiconque les intercepte peut écrire dans votre dépôt. Utilisez `--tls`, ou gardez rest-server sur localhost et accédez-y par un tunnel SSH.

### rest-server et SFTP peuvent-ils servir le même dépôt ?

Oui. Les deux utilisent la même arborescence de dossiers qu'un dépôt local, donc des clients peuvent écrire via un rest-server en mode append-only pendant qu'un administrateur élague le même dossier en SFTP.

### Sur quel port rest-server écoute-t-il ?

Le port 8000 sur toutes les adresses par défaut. Ouvrez-le dans le pare-feu uniquement aux adresses qui sauvegardent, ou liez-le à une adresse privée comme une interface WireGuard.

### Quelle version de restic dois-je utiliser ?

La dernière version au 2 novembre 2026 était restic 0.19.1, du 5 juillet 2026 ; Debian 13 fournit la 0.18.0. Le format de dépôt version 2, le format par défaut actuel, exige restic 0.14.0 ou plus récent sur chaque machine qui l'ouvre.

## Sources

1. [Rest Server README : pourquoi l'utiliser, mode append-only, dépôts privés, htpasswd, TLS](https://github.com/restic/rest-server) — restic project (read 2026-11-02)
2. [Documentation restic : Préparer un nouveau dépôt (SFTP, REST Server, B2)](https://restic.readthedocs.io/en/stable/030_preparing_a_new_repo.html) — restic project (read 2026-11-02)
3. [Documentation restic : Supprimer des snapshots de sauvegarde, considérations de sécurité en mode append-only](https://restic.readthedocs.io/en/stable/060_forget.html) — restic project (read 2026-11-02)
4. [Documentation restic : Scripting, variables d'environnement](https://restic.readthedocs.io/en/stable/075_scripting.html) — restic project (read 2026-11-02)
5. [Documentation restic : références, chiffrement du dépôt](https://restic.readthedocs.io/en/stable/100_references.html) — restic project (read 2026-11-02)
6. [Versions de restic (0.19.1 du 5 juillet 2026)](https://github.com/restic/restic/releases) — restic project on GitHub (read 2026-11-02)
7. [Paquet Debian trixie restic-rest-server 0.13.0-2 : unité de service et valeurs par défaut](https://sources.debian.org/src/restic-rest-server/0.13.0-2/debian/) — Debian (read 2026-11-02)
8. [Recherche de paquets Debian trixie : restic 0.18.0](https://packages.debian.org/search?keywords=restic&searchon=names&suite=trixie&section=all) — Debian (read 2026-11-02)
9. [sshd_config(5) : Match, ChrootDirectory, ForceCommand](https://man.openbsd.org/sshd_config) — OpenBSD project (OpenSSH) (read 2026-11-02)
10. [Tarifs B2 Cloud Storage](https://www.backblaze.com/cloud-storage/pricing) — Backblaze (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.
