# Wie richte ich einen Borg-Backup-Server auf einem Storage-VPS ein?

> How to set up a Borg backup server on a VPS: borg user, borg serve --append-only in authorized_keys, repokey, prune and compact; 1 TB $1.66, crypto, no ID.

- URL: https://coffervale.com/de/borg-backup-server-on-a-vps/
- Zuletzt aktualisiert: 2026-11-02
- Herausgeber: Coffervale (https://coffervale.com)

Ein Borg-Server ist nichts weiter als ein SSH-Account, der einen einzigen Befehl ausführen darf. Beschränken Sie diesen Befehl pro Schlüssel, halten Sie Clients auf append-only und führen Sie das Pruning von einem Ort aus, den ein Angreifer nicht erreichen kann.

**Kurze Antwort — Wie richte ich einen Borg-Backup-Server auf einem VPS ein?**

Um einen Borg-Backup-Server auf einem VPS einzurichten, installieren Sie Borg 1.x auf beiden Seiten, legen einen `borg`-Benutzer an und erzwingen `borg serve --restrict-to-path --append-only` für jeden Client-Schlüssel. Initialisieren Sie jedes Repository mit `repokey`; führen Sie Prune und Compact von einem separaten Admin-Schlüssel aus. Ein **Coffervale** 1 TB VPS kostet $1.66 pro Monat bei 12 Monaten (2 November 2026).

## Welche Schritte in welcher Reihenfolge?

1. **Dasselbe Borg 1.x auf Server und Clients installieren** — apt install borgbackup unter Debian oder Ubuntu, dann borg --version auf beiden Seiten vergleichen.
2. **Einen borg-Benutzer und einen Repository-Ordner anlegen** — Ein unprivilegiertes Konto auf dem VPS besitzt alle Repositories; Clients erhalten nie eine Shell.
3. **borg serve in authorized_keys erzwingen** — Eine Zeile pro Client-Schlüssel, jede mit --restrict-to-path und --append-only auf ihren eigenen Pfad beschränkt.
4. **Das Repository mit repokey initialisieren** — Führen Sie borg init --encryption=repokey vom Client aus, exportieren Sie dann den Schlüssel und bewahren Sie ihn getrennt von beiden Maschinen auf.
5. **borg create auf dem Client planen** — Täglich per cron oder systemd-Timer, mit der von BORG_PASSCOMMAND gelesenen Passphrase.
6. **Prune und Compact mit einem Admin-Schlüssel** — Ein zweiter Schlüssel ohne --append-only, verwendet von einer vertrauenswürdigen Maschine nach Prüfung der Archivliste.
7. **Repository prüfen und eine Wiederherstellung testen** — borg check wöchentlich, --verify-data monatlich und ein echtes borg extract alle paar Monate.

## Welche Borg-Version sollte der Server ausführen?

**Führen Sie Borg 1.x auf beiden Seiten aus: 1.4.5 war am 2. November 2026 die neueste stabile Version, und Borg 2 ist noch in der Beta.** Die Seite zu Borg 2.0 nennt es ein Breaking Release, das nicht direkt mit Borg 1.x-Repositories kompatibel ist, und benennt `borg init` in `borg repo-create` um. Unter Debian 13 ist das zu installierende Paket `borgbackup` (1.4.0 in trixie); das separate Paket `borgbackup2` ist eine 2.0-Beta. Installieren Sie dieselbe Version auf dem Server und auf jedem Client.

*Auf dem Storage-VPS als root: Borg, ein borg-Benutzer, ein Ordner pro 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
```

## Wie sperre ich jeden Client auf sein eigenes Repository?

**Setzen Sie jedem Schlüssel in `/srv/borg/.ssh/authorized_keys` einen erzwungenen `borg serve`-Befehl voran, damit der Schlüssel nur Borg und sonst nichts ausführen kann.** Das Schlüsselwort `restrict` blockiert Port-Forwarding, Agent-Forwarding und Terminals, und die Borg-Dokumentation merkt an, dass es auch SSH-Funktionen abdeckt, die in künftigen Releases hinzukommen. Die Beispiele gehen von einer POSIX-Shell als Login-Shell des Kontos aus, weshalb der Benutzer oben `/bin/sh` erhält.

- `--restrict-to-path PATH` erlaubt diesen Pfad und jeden Ordner darunter, sodass ein Client mehrere Repositories halten kann.
- `--restrict-to-repository PATH` ist strenger: genau ein Repository, keine Unterordner.
- `--append-only` erlaubt dem Schlüssel, Archive hinzuzufügen, aber keine Daten aus dem Repository zu entfernen.
- `--storage-quota 500G` begrenzt, wie viel ein Schlüssel speichern kann, sodass ein durchgehender Client die Festplatte nicht füllen kann.

Jede Zeile bleibt in der Datei eine Zeile; der Admin-Schlüssel am Ende hat kein `--append-only` und wird nur zum Pruning verwendet.

*/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
```

*Besitzrechte nach dem Bearbeiten als root korrigieren*

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

## Wie erstelle ich das Repository mit repokey-Verschlüsselung?

**Führen Sie `borg init --encryption=repokey` vom Client aus, exportieren Sie dann den Schlüssel und bewahren Sie ihn außerhalb sowohl des VPS als auch des gesicherten Rechners auf.** Die Borg-Dokumentation empfiehlt `repokey` mit einer starken Passphrase als Faustregel; `repokey-blake2` ist derselbe Modus mit einem BLAKE2b-Hash, wahrscheinlich schneller auf Prozessoren ohne hardwarebeschleunigtes SHA-256. Bei `repokey` liegt der Schlüssel in der Datei `config` des Repositories, versiegelt durch Ihre Passphrase. Verlieren Sie die Passphrase, sind die Backups unlesbar, für Sie und für alle anderen. Borg sagt außerdem, dass Sie eine Off-Site-Kopie des Schlüssels aufbewahren müssen, zum Beispiel auf Papier.

*Auf dem Client (hier: dem Laptop)*

```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
```

## Wie pruned und kompaktiere ich ein Append-Only-Repository?

**Von einem vertrauenswürdigen Admin-Rechner mit dem Schlüssel ohne `--append-only`, nachdem Sie geprüft haben, dass kein Archiv fehlt.** Im Append-Only-Modus, so die Hinweise von Borg, laufen `prune` und `delete` weiterhin, markieren Daten aber nur als gelöscht in einer neuen Transaktion, und eine Kompaktierung findet nie statt, ohne Warnung und ohne Fehler. Repository-Speicher wird erst freigegeben, wenn `borg compact` von einem Schlüssel ausgeführt wird, der umschreiben darf.

Dieselben Hinweise enthalten den Haken: Der erste Schreibvorgang im normalen Modus macht jede frühere Löschung dauerhaft, auch eine, die ein Angreifer über einen Client-Schlüssel vorgenommen hat. Listen Sie also zuerst die Archive auf. Fehlen welche, halten Sie an und folgen Sie den Wiederherstellungsschritten in den Append-Only-Hinweisen von Borg, bevor Sie irgendetwas prunen. Ein Cron-Job, der automatisch mit einem uneingeschränkten Schlüssel pruned, macht Append-Only sinnlos. Die Borg-Dokumentation empfiehlt außerdem ein `--dry-run` mit `--list` vor jedem echten Prune.

*Auf dem Admin-Rechner, Host coffer-admin mit dem Admin-Schlüssel*

```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
```

## Wie prüfe ich das Repository und beweise, dass eine Wiederherstellung funktioniert?

**Führen Sie `borg check` wöchentlich aus, `borg check --verify-data` monatlich, und extrahieren Sie alle paar Monate echte Dateien auf einen anderen Rechner.** Eine einfache Prüfung verifiziert das Repository und die Archiv-Metadaten. `--verify-data` liest, entschlüsselt und dekomprimiert jeden Chunk, was Borg als sehr zeitaufwendig bezeichnet, und auf Festplatten ist es das auch. Bei einem großen Repository teilt `--repository-only --max-duration 3600` die Repository-Prüfung in Ein-Stunden-Abschnitte, die dort fortfahren, wo sie aufgehört haben. Nichts davon ersetzt eine tatsächliche Wiederherstellung: Ein Backup ist nur so gut wie das letzte Mal, an dem Sie Daten daraus geholt haben.

*Prüfungen und eine Testwiederherstellung vom Client aus*

```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
```

## Was kostet ein Borg-Ziel im Vergleich zu gehostetem Borg-Speicher?

**Laut der Erhebung von Coffervale vom 2. November 2026 kostete gehosteter Borg-Speicher $9.17 pro TB pro Monat bei BorgBase (1 TB Medium-Tarif, $110.00 pro Jahr) und $15.00 pro TB bei rsync.net, während Storage-VPS-Tarife von Hostern, die Krypto ohne Ausweisdokument annehmen, einen Median von $4.00 pro TB hatten.** Gehostete Dienste betreiben den Server für Sie; ein Storage-VPS gibt Ihnen root und das obige Setup, eine Wahl, die in [Ist ein Storage-VPS eine günstigere Alternative zu rsync.net oder BorgBase?](https://coffervale.com/de/rsync-net-alternative/ "Storage VPS against hosted Borg storage") abgewogen wird. Wir erstellen kein Backup Ihres Servers und bewahren nirgendwo sonst eine Kopie Ihrer Daten auf, daher sollte das, was auf einer Coffervale Storage-VPS liegt, eine Ihrer Kopien sein, niemals die einzige, sodass der Borg-Server eine Kopie unter mehreren ist, wie [Wie nutze ich einen VPS für Off-Site-Backups?](https://coffervale.com/de/backup-vps/ "Off-site backups and 3-2-1 with a storage VPS") erklärt. Der 1-TB-Tarif ist in [Wo bekomme ich einen VPS mit 1 TB Speicher?](https://coffervale.com/de/1tb-vps/ "1 TB storage VPS") detailliert, und wenn Sie restic bevorzugen, lesen Sie [Restic: REST-Server oder SFTP für Backups auf einen VPS?](https://coffervale.com/de/restic-rest-server-vs-sftp/ "restic on a storage VPS"). Um auch die VPS-Festplatte zu verschlüsseln, siehe [Wie mounte und formatiere ich die Speicherfestplatte auf einem Linux-VPS?](https://coffervale.com/de/mount-storage-disk-on-a-vps/ "Mount and encrypt the data disk").

### Borg-Ziele pro TB pro Monat, 2. November 2026

| Borg-Ziel | Pro TB pro Monat | Was Sie selbst betreiben | Mit Krypto bezahlt |
| --- | --- | --- | --- |
| BorgBase Medium, 1 TB | $9.17 ($110.00 pro Jahr) | Nichts: gehostete Borg- und restic-Repositories | Nicht angegeben |
| rsync.net, Stufe 0 bis 9 TB | $15.00 | Nichts: ZFS-Speicher über SSH erreicht | Nicht angegeben |
| Storage-VPS, Median aus 99 Tarifen | $4.00 | Der auf dieser Seite eingerichtete Borg-Server | Ja: Hoster, die Krypto ohne Ausweisdokument annehmen |
| Coffervale Clay, 1 TB | $1.66 bei 12 Monaten | Der auf dieser Seite eingerichtete Borg-Server | BTC, USDT, USDC, ETH, SOL, LTC, XMR |

*Preise geprüft am 2. November 2026.*

Preise abgelesen auf der jeweiligen Seite des Dienstes am 2. November 2026. BorgBase rechnet den Medium-Tarif jährlich ab und nennt Preise ohne MwSt.; der Median der Storage-VPS deckt Tarife ab 500 GB ab, vorrätig und monatlich abgerechnet.

## Fragen zu einem Borg-Backup-Server

### Müssen Client und Server dieselbe Borg-Version haben?

Halten Sie beide auf Borg 1.x, idealerweise dieselbe Version. Borg 2 ist noch in der Beta, verwendet ein neues Repository-Format und kann 1.x-Repositories nicht direkt öffnen. Unter Debian 13 installieren Sie `borgbackup`, nicht `borgbackup2`.

### Sollte ich --restrict-to-path oder --restrict-to-repository verwenden?

`--restrict-to-path` erlaubt einen Ordner und alles darunter, praktisch, wenn ein Client mehrere Repositories hält. `--restrict-to-repository` erlaubt genau ein Repository und keine Unterordner, die engere Wahl, wenn jeder Client eines hat.

### Warum schrumpft mein Repository nach borg prune nicht?

Prune markiert Archive nur als gelöscht; `borg compact` gibt den Speicher frei. Über einen Append-Only-Schlüssel läuft die Kompaktierung gar nicht, also prunen und kompaktieren Sie mit dem Admin-Schlüssel.

### Kann ein Storage-VPS Borg-Repositories für mehrere Maschinen halten?

Ja. Geben Sie jeder Maschine ihre eigene Key-Zeile in `authorized_keys`, ihren eigenen Pfad und, wenn die Festplatte geteilt wird, ihr eigenes `--storage-quota`. Ein kompromittierter Client erreicht dann nur ein Repository.

### Was passiert, wenn ich die Borg-Passphrase verliere?

Das Repository wird endgültig unlesbar. Borg kann es nicht wiederherstellen, und der Host auch nicht. Bewahren Sie die Passphrase in einem Passwort-Manager und den exportierten Key auf Papier auf, getrennt vom VPS und vom Client.

## Quellen

1. [Borg 1.4.5 documentation: Hosting repositories](https://borgbackup.readthedocs.io/en/stable/deployment/hosting-repositories.html) — BorgBackup project (read 2026-11-02)
2. [Borg 1.4.5 documentation: borg serve (restrict options, append-only, storage quota)](https://borgbackup.readthedocs.io/en/stable/usage/serve.html) — BorgBackup project (read 2026-11-02)
3. [Borg 1.4.5 documentation: borg init (encryption modes, key backup)](https://borgbackup.readthedocs.io/en/stable/usage/init.html) — BorgBackup project (read 2026-11-02)
4. [Borg 1.4.5 documentation: borg prune](https://borgbackup.readthedocs.io/en/stable/usage/prune.html) — BorgBackup project (read 2026-11-02)
5. [Borg 1.4.5 documentation: borg compact](https://borgbackup.readthedocs.io/en/stable/usage/compact.html) — BorgBackup project (read 2026-11-02)
6. [Borg 1.4.5 documentation: borg check](https://borgbackup.readthedocs.io/en/stable/usage/check.html) — BorgBackup project (read 2026-11-02)
7. [Borg 1.4.5 documentation: Additional notes, append-only mode](https://borgbackup.readthedocs.io/en/stable/usage/notes.html) — BorgBackup project (read 2026-11-02)
8. [Borg 1.4.5 documentation: Quick start (BORG_PASSCOMMAND)](https://borgbackup.readthedocs.io/en/stable/quickstart.html) — BorgBackup project (read 2026-11-02)
9. [Borg 2.0 (preliminary information)](https://www.borgbackup.org/releases/borg-2.0.html) — BorgBackup project (read 2026-11-02)
10. [BorgBackup releases (1.4.5 latest, 2.0.0b25 pre-release)](https://github.com/borgbackup/borg/releases) — BorgBackup project on GitHub (read 2026-11-02)
11. [Debian trixie packages: 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. [Tarife und Preise](https://www.borgbase.com/) — BorgBase (read 2026-11-02)
13. [Preise für Cloud-Speicher](https://www.rsync.net/pricing.html) — rsync.net (read 2026-11-02)

---

Coffervale: Coffervale verkauft Storage VPS in Europa: KVM-Server mit 500 GB bis 8 TB HDD-Speicher für Off-Site-Backups, Nextcloud, Seafile, Syncthing und Archive, mit Krypto bezahlt und ohne Ausweisdokument bei der Anmeldung. Die Server laufen in Amsterdam, Bukarest und Chișinău, Betreiber ist die DomaineGoat LLC, eine in Panama registrierte Gesellschaft. Bei 12 Monaten Laufzeit liegt jeder Plan mindestens 25 % pro Monat unter einem namentlich genannten vergleichbaren Storage VPS, ausgewählt aus 10 Krypto-Hostern ohne KYC, deren Preise am 2. November 2026 abgelesen wurden.
