Nessun documento all'iscrizione · Storage VPS da 500 GB a 8 TB · Pagare in BTC, USDT, USDC, ETH, SOL, LTC, XMR
Lingua: Italiano
Ottieni storage

Server Borg per backup · passo dopo passo

Come configuro un server Borg su un VPS di storage?

Un server Borg non è altro che un account SSH che può eseguire un solo comando. Blocca quel comando per ogni chiave, mantieni i client in append-only ed esegui il pruning da un punto che un attaccante non può raggiungere.

Ultimo aggiornamento: · 8 min di lettura

Risposta rapida

Come configuro un server Borg su un VPS?

Per configurare un server Borg su un VPS, installa Borg 1.x su entrambe le estremità, crea un utente borg e forza borg serve --restrict-to-path --append-only su ogni chiave del client. Inizializza ogni repository con repokey; esegui prune e compact da una chiave di amministrazione separata. Un VPS Coffervale da 1 TB costa $1.66 al mese con 12 mesi (2 November 2026).

Quali sono i passaggi, in ordine?

  1. Installa lo stesso Borg 1.x su server e client

    apt install borgbackup su Debian o Ubuntu, poi confronta borg --version su entrambe le estremità.

  2. Crea un utente borg e una cartella per i repository

    Un account senza privilegi sul VPS possiede ogni repository; i client non ottengono mai una shell.

  3. Forza borg serve in authorized_keys

    Una riga per ogni chiave del client, ognuna limitata al proprio percorso con --restrict-to-path e --append-only.

  4. Inizializza il repository con repokey

    Esegui borg init --encryption=repokey dal client, poi esporta la chiave e conservala lontana da entrambe le macchine.

  5. Pianifica borg create sul client

    Ogni giorno da cron o da un timer systemd, con la passphrase letta da BORG_PASSCOMMAND.

  6. Esegui prune e compact da una chiave di amministrazione

    Una seconda chiave senza --append-only, usata da una macchina fidata dopo aver controllato l'elenco degli archivi.

  7. Controlla il repository e prova un ripristino

    borg check ogni settimana, --verify-data ogni mese e un vero borg extract ogni pochi mesi.

Quale versione di Borg dovrebbe eseguire il server?

Esegui Borg 1.x su entrambe le estremità: la 1.4.5 era l'ultima release stabile il 2 novembre 2026, e Borg 2 è ancora in beta. La pagina di Borg 2.0 la definisce una release breaking non direttamente compatibile con i repository Borg 1.x, e rinominano borg init in borg repo-create. Su Debian 13 il pacchetto da installare è borgbackup (1.4.0 in trixie); il pacchetto separato borgbackup2 è una beta di 2.0. Installa la stessa release sul server e su ogni client.

Sul VPS di storage, come root: Borg, un utente borg, una cartella per client
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

Come faccio a vincolare ogni client al proprio repository?

Metti un comando borg serve forzato davanti a ogni chiave in /srv/borg/.ssh/authorized_keys, così la chiave può eseguire Borg e nient'altro. La parola chiave restrict blocca il port forwarding, l'agent forwarding e i terminali, e la documentazione di Borg nota che copre anche le funzionalità SSH aggiunte nelle release future. Gli esempi presuppongono una shell POSIX come login shell dell'account, ed è per questo che l'utente sopra ha /bin/sh.

  • --restrict-to-path PATH consente quel percorso e ogni cartella al suo interno, così un client può contenere più repository.
  • --restrict-to-repository PATH è più restrittivo: esattamente un repository, nessuna sottocartella.
  • --append-only permette alla chiave di aggiungere archivi ma non di rimuovere dati dal repository.
  • --storage-quota 500G limita ciò che una chiave può archiviare, così un client fuori controllo non può riempire il disco.

Ogni riga resta su una sola riga nel file; la chiave admin alla fine non ha --append-only e serve solo per il pruning.

/srv/borg/.ssh/authorized_keys (owner borg, mode 600)
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
Correggi la proprietà dopo la modifica, come root
chown borg:borg /srv/borg/.ssh/authorized_keys
chmod 600 /srv/borg/.ssh/authorized_keys

Come faccio a creare il repository con la crittografia repokey?

Esegui borg init --encryption=repokey dal client, poi esporta la chiave e conservala fuori sia dal VPS sia dalla macchina di cui fai il backup. La documentazione di Borg consiglia repokey con una passphrase robusta come regola generale; repokey-blake2 è la stessa modalità con un hash BLAKE2b, probabilmente più veloce sui processori senza SHA-256 accelerato via hardware. Con repokey, la chiave si trova nel file config del repository, sigillata dalla tua passphrase. Se perdi la passphrase, i backup diventano illeggibili, per te e per chiunque altro. Borg dice anche che devi conservare una copia off-site della chiave, ad esempio su carta.

Sul client (qui: il laptop)
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
#!/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

Come faccio a fare prune e compact di un repository append-only?

Da una macchina admin fidata, con la chiave che non ha --append-only, dopo aver verificato che nessun archivio sia sparito. In modalità append-only, spiegano le note di Borg, prune e delete vengono comunque eseguiti ma si limitano a contrassegnare i dati come eliminati in una nuova transazione, e la compattazione non avviene mai, senza avviso né errore. Lo spazio del repository non viene liberato finché borg compact non viene eseguito da una chiave autorizzata a riscrivere.

Le stesse note contengono l'insidia: la prima scrittura in modalità normale rende permanente ogni eliminazione precedente, compresa quella fatta da un attaccante tramite una chiave client. Quindi elenca prima gli archivi. Se ne mancano alcuni, fermati e segui i passaggi di recupero nelle note append-only di Borg prima di fare qualsiasi prune. Un cron job che fa prune automaticamente con una chiave senza restrizioni rende l'append-only inutile. La documentazione di Borg consiglia anche un --dry-run con --list prima di ogni prune reale.

Sulla macchina admin, Host coffer-admin usando la chiave admin
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

Come faccio a verificare il repository e a dimostrare che un ripristino funziona?

Esegui borg check ogni settimana, borg check --verify-data ogni mese, ed estrai file reali su un'altra macchina ogni pochi mesi. Un check semplice verifica il repository e i metadati degli archivi. --verify-data legge, decifra e decomprime ogni chunk, cosa che Borg definisce molto dispendiosa in termini di tempo, e sui dischi rigidi lo è. Per un repository grande, --repository-only --max-duration 3600 suddivide il check del repository in intervalli di un'ora che riprendono da dove si erano fermati. Nessuno di questi sostituisce un ripristino reale: un backup vale solo quanto l'ultima volta in cui ne hai estratto i dati.

Check e un ripristino di prova, dal client
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

Quanto costa un target Borg rispetto allo storage Borg hosted?

Secondo l'indagine di Coffervale del 2 novembre 2026, lo storage Borg hosted costava $9.17 per TB al mese su BorgBase (piano Medium da 1 TB, $110.00 all'anno) e $15.00 per TB su rsync.net, mentre i piani VPS di storage di host che accettano cripto senza documento d'identità avevano una mediana di $4.00 per TB. I servizi hosted eseguono il server per te; un VPS di storage ti dà root e la configurazione qui sopra, una scelta valutata in Is a storage VPS a cheaper alternative to rsync.net or BorgBase?. 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, quindi il server Borg è una copia tra diverse, come spiega How do I use a VPS for off-site backups?. Il piano da 1 TB è descritto in Where can I get a VPS with 1 TB of storage?, e se preferisci restic, leggi Restic: REST server or SFTP for backups to a VPS?. Per crittografare anche il disco del VPS, vedi How do I mount and format the storage disk on a Linux VPS?.

Target Borg per TB al mese, 2 novembre 2026

Target BorgPer TB al meseCiò che gestisci tuPagamento in criptovalute
BorgBase Medium, 1 TB$9.17 ($110.00 all'anno)Niente: repository Borg e restic hostedNon indicato
rsync.net, fascia da 0 a 9 TB$15.00Niente: storage ZFS raggiunto via SSHNon indicato
VPS di storage, mediana di 99 piani$4.00Il server Borg configurato in questa paginaSì: host che accettano cripto senza documento d'identità
Coffervale Clay, 1 TB$1.66 su 12 mesiIl server Borg configurato in questa paginaBTC, USDT, USDC, ETH, SOL, LTC, XMR

Prezzi verificati il

Prezzi letti sulla pagina di ciascun servizio il 2 novembre 2026. BorgBase fattura il piano Medium annualmente e indica i prezzi IVA esclusa; la mediana dei VPS di storage copre piani da 500 GB o più, disponibili e fatturati mensilmente.

Domande su un server di backup Borg

Client e server devono avere la stessa versione di Borg?

Tieni entrambi su Borg 1.x, idealmente la stessa release. Borg 2 è ancora in beta, usa un nuovo formato di repository e non può aprire direttamente i repository 1.x. Su Debian 13 installa borgbackup, non borgbackup2.

Devo usare --restrict-to-path o --restrict-to-repository?

--restrict-to-path consente una cartella e tutto ciò che contiene, comodo quando un client mantiene più repository. --restrict-to-repository consente esattamente un repository e nessuna sottocartella, la scelta più restrittiva quando ogni client ne ha uno.

Perché il mio repository non si riduce dopo borg prune?

Prune contrassegna solo gli archivi come eliminati; borg compact libera lo spazio. Attraverso una chiave append-only, la compattazione non viene mai eseguita, quindi fai prune e compact dalla chiave admin.

Un solo VPS di storage può ospitare repository Borg per più macchine?

Sì. Assegna a ogni macchina la sua riga di chiave in authorized_keys, il suo percorso e, se il disco è condiviso, il suo --storage-quota. Un client compromesso raggiunge così un solo repository.

Cosa succede se perdo la passphrase di Borg?

Il repository diventa illeggibile per sempre. Borg non può recuperarlo e nemmeno l'host può farlo. Tieni la passphrase in un password manager e la chiave esportata su carta, lontano dal VPS e dal client.

Fonti (13)
  1. Documentazione Borg 1.4.5: Hosting repositories — BorgBackup project (read 2026-11-02)
  2. Documentazione Borg 1.4.5: borg serve (restrict options, append-only, storage quota) — BorgBackup project (read 2026-11-02)
  3. Documentazione Borg 1.4.5: borg init (encryption modes, key backup) — BorgBackup project (read 2026-11-02)
  4. Documentazione Borg 1.4.5: borg prune — BorgBackup project (read 2026-11-02)
  5. Documentazione Borg 1.4.5: borg compact — BorgBackup project (read 2026-11-02)
  6. Documentazione Borg 1.4.5: borg check — BorgBackup project (read 2026-11-02)
  7. Documentazione di Borg 1.4.5: Additional notes, append-only mode — BorgBackup project (read 2026-11-02)
  8. Documentazione Borg 1.4.5: Quick start (BORG_PASSCOMMAND) — BorgBackup project (read 2026-11-02)
  9. Borg 2.0 (informazioni preliminari) — BorgBackup project (read 2026-11-02)
  10. Release di BorgBackup (1.4.5 ultima, 2.0.0b25 pre-release) — BorgBackup project on GitHub (read 2026-11-02)
  11. Pacchetti Debian trixie: borgbackup 1.4.0, borgbackup2 2.0.0b19 — Debian (read 2026-11-02)
  12. Piani e prezzi borgbase.com — BorgBase (read 2026-11-02)
  13. Prezzi dello storage cloud rsync.net/pricing.html — rsync.net (read 2026-11-02)

Da $1.24/mese · senza KYC

Ottieni storage