Risposta rapida
Restic: REST server o SFTP per i backup su un VPS?
Per i backup restic su un VPS, usa rest-server quando i client non devono poter eliminare gli snapshot: la sua modalità --append-only rifiuta le cancellazioni e --private-repos mantiene ogni utente nella propria cartella. Usa SFTP quando fa il backup una sola macchina fidata e non vuoi altro che SSH. Su un Coffervale storage VPS, 1 TB costa $1.66 al mese su 12 mesi (2 November 2026).
Qual è la differenza tra il REST server di restic e i backend SFTP?
| Funzionalità | SFTP | rest-server |
|---|---|---|
| Software sul VPS | OpenSSH, già installato | rest-server (pacchetto Debian 13 restic-rest-server, o l'immagine Docker restic/rest-server) |
| Trasporto | SSH | HTTP o HTTPS, porta 8000 per impostazione predefinita |
| Login | Chiavi SSH per account Unix | Utente e password HTTP da un file htpasswd (bcrypt o SHA) |
| Il client può eliminare i vecchi snapshot | Sì | No, con --append-only |
| Utenti tenuti separati | Account Unix e permessi delle cartelle | --private-repos: ogni utente solo sotto /<user>/ |
| Struttura del repository su disco | Come un repository locale | Come un repository locale |
| Cifratura del repository | restic, sempre attiva | restic, sempre attiva |
rest-server è più veloce di SFTP?
Il progetto rest-server dice di sì: rispetto a SFTP, il backend REST offre prestazioni migliori e scala di più. Il suo README ne spiega il motivo: SFTP trasferisce i dati in blocchi di al massimo 32 KiB e il server conferma ogni pacchetto, mentre REST invia file interi su HTTP. Il semplice HTTP elimina anche l'overhead di TLS, dato che restic cifra già tutto ciò che invia; il README aggiunge che HTTPS serve poi soprattutto a proteggere il login. È un'affermazione del progetto stesso, non un benchmark che abbiamo eseguito noi. Su un VPS di storage con dischi rigidi, spesso sono i dischi e la tua banda in upload a dettare il passo prima del protocollo.
Lato client, SFTP ha un fastidio noto: la documentazione di restic segnala che i server SFTP chiudono le connessioni quando non ricevono nulla per un po', cosa che le scansioni lunghe di file invariati possono innescare.
Quando è meglio il semplice SFTP?
Quando una macchina di cui ti fidi esegue il backup sul proprio account e non vuoi servizi aggiuntivi, porte aggiuntive né nulla di nuovo da aggiornare. restic ha bisogno solo di restic -r sftp:user@host:/path init e di una chiave SSH senza richiesta di passphrase, dato che un backup automatico non può fermarsi a chiederla. La debolezza è quella che conta di più contro il ransomware: chi controlla il client può anche eseguire restic forget --prune ed eliminare ogni snapshot, perché SFTP non ha una modalità append-only.
Per impedire a ogni account SFTP di curiosare nel resto del server, OpenSSH può confinarlo nella propria cartella senza shell:
Match User restic-laptop
ForceCommand internal-sftp
ChrootDirectory /srv/restic-sftp/%u
AllowTcpForwarding no
X11Forwarding nouseradd --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_keysCome eseguo rest-server con repository append-only e privati?
Su Debian 13, installa restic-rest-server, puntalo a una cartella dati fuori da /home e passa --append-only --private-repos più TLS nel suo file dei default. Il servizio del pacchetto gira come utente restic-rest-server, legge BACKUP_DIR, LISTEN e ARGS da /etc/default/restic-rest-server, rifiuta di avviarsi finché BACKUP_DIR non è impostato e nasconde /home al demone. Con --private-repos, l'utente laptop può aprire solo repository sotto /laptop/, così più persone possono condividere un unico VPS di storage senza vedere gli snapshot altrui. Un certificato autofirmato basta, perché il client lo fissa con --cacert.
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-servermkdir -p ~/.config/restic
scp [email protected]:/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 ~/PicturesCome faccio il prune degli snapshot quando rest-server è append-only?
Esegui forget --prune da una macchina admin fidata su un percorso che non è append-only, e scrivi la policy con --keep-within. rest-server mantiene il repository nella stessa struttura di un repository locale, quindi SFTP come root raggiunge la stessa identica cartella e la password del repository non va mai digitata sul VPS.
La parte --keep-within conta. La documentazione di restic descrive un attaccante che aggiunge snapshot vuoti a un repository append-only così che una policy come uno snapshot a settimana elimini quelli veri; una policy basata sul tempo conserva sia i rifiuti sia gli snapshot autentici. Aiuta solo se l'orologio di sistema è corretto quando gira forget, e non è un motivo per saltare un'occhiata a restic snapshots prima.
restic -r sftp:[email protected]:/srv/restic/laptop snapshots
restic -r sftp:[email protected]:/srv/restic/laptop forget --keep-within 90d --prune
restic -r sftp:[email protected]:/srv/restic/laptop check --read-data-subset=5%Quale backend scelgo?
Scegli rest-server ogni volta che la macchina di cui fai il backup è esposta a internet; scegli SFTP per un'unica macchina ben curata dove vince la semplicità. Un target append-only non può essere svuotato dall'attaccante che cifra il tuo server, e questa sola proprietà vale più del demone in più.
| La tua situazione | Backend | Perché |
|---|---|---|
| Un solo laptop o desktop, un solo account | SFTP | Niente da installare, nessuna porta nuova |
| Server pubblici che potrebbero essere compromessi | rest-server --append-only | Un client rubato non può cancellare la cronologia |
| Più persone o macchine su un solo VPS | rest-server --private-repos | Ogni login vede solo la propria cartella |
| Dalla rete è consentito uscire solo su HTTP o HTTPS | rest-server | Funziona dove SSH è bloccato |
| Entrambi: client in append-only, admin fa il prune | rest-server per i client, SFTP come root per l'admin | Stessa cartella, due livelli di accesso |
Quanto costa un target restic per TB?
Secondo l'indagine di Coffervale del 2 novembre 2026, Backblaze B2, un object store supportato nativamente da restic, costava $6.95 per TB al mese, mentre i piani VPS per storage di host che accettano criptovalute senza documento d'identità avevano una mediana di $4.00 per TB. Un object store non richiede nessun server da mantenere ma non offre nessuno dei due backend discussi qui; un VPS per storage li esegue entrambi. Non facciamo backup del tuo server e non teniamo copia dei tuoi dati da nessun'altra parte, quindi ciò che sta su uno storage VPS di Coffervale dovrebbe essere una delle tue copie, mai l'unica: il VPS è la tua copia off-site, come spiega Come uso un VPS per i backup off-site?. Se preferisci usare Borg, segui Come configuro un server di backup Borg su un VPS?; per cifrare il disco sottostante, vedi Come monto e formatto il disco di storage su un VPS Linux?. Piani e condizioni sono su Quanto costa un VPS per storage al mese?.
Domande su restic su un VPS
restic via SFTP è cifrato?
Due volte. restic cifra ogni file che memorizza con AES-256 e lo autentica con Poly1305-AES prima dell'upload, e SSH cifra la connessione. Il VPS contiene sempre e solo testo cifrato.
rest-server ha bisogno di HTTPS se restic cifra già i dati?
Sì, per il login. Senza TLS, utente e password HTTP attraversano la rete in chiaro, e chiunque li intercetti può scrivere nel tuo repository. Usa --tls, oppure tieni rest-server su localhost e raggiungilo tramite un tunnel SSH.
rest-server e SFTP possono servire lo stesso repository?
Sì. Entrambi usano la stessa struttura di cartelle di un repository locale, quindi i client possono scrivere tramite un rest-server in modalità append-only mentre un amministratore esegue il prune della stessa cartella via SFTP.
Su quale porta ascolta rest-server?
La porta 8000 su tutti gli indirizzi per impostazione predefinita. Aprila nel firewall solo verso gli indirizzi che fanno backup, oppure vincolala a un indirizzo privato come un'interfaccia WireGuard.
Quale versione di restic dovrei usare?
L'ultima release al 2 novembre 2026 era restic 0.19.1, del 5 luglio 2026; Debian 13 include la 0.18.0. Il formato di repository versione 2, l'attuale predefinito, richiede restic 0.14.0 o successivo su ogni macchina che lo apre.
Fonti (10)
- Rest Server README: perché usarlo, modalità append-only, repository privati, htpasswd, TLS — restic project (read 2026-11-02)
- Documentazione restic: Preparare un nuovo repository (SFTP, REST Server, B2) — restic project (read 2026-11-02)
- Documentazione restic: Rimuovere gli snapshot di backup, considerazioni di sicurezza in modalità append-only — restic project (read 2026-11-02)
- Documentazione restic: Scripting, variabili d'ambiente — restic project (read 2026-11-02)
- Documentazione di restic: References, repository encryption — restic project (read 2026-11-02)
- Release di restic (0.19.1 del 5 luglio 2026) — restic project on GitHub (read 2026-11-02)
- Pacchetto Debian trixie restic-rest-server 0.13.0-2: unit del servizio e valori predefiniti — Debian (read 2026-11-02)
- Ricerca pacchetti Debian trixie: restic 0.18.0 — Debian (read 2026-11-02)
- sshd_config(5): Match, ChrootDirectory, ForceCommand — OpenBSD project (OpenSSH) (read 2026-11-02)
- Prezzi di B2 Cloud Storage backblaze.com/cloud-storage/pricing — Backblaze (read 2026-11-02)