Krótka odpowiedź
Restic: REST server czy SFTP do backupów na VPS?
Do backupów restic na VPS używaj rest-server, gdy klienci nie mogą usuwać snapshotów: jego tryb --append-only odrzuca usunięcia, a --private-repos trzyma każdego użytkownika we własnym folderze. Używaj SFTP, gdy backupuje jedna zaufana maszyna i chcesz tylko SSH. Na storage VPS Coffervale 1 TB kosztuje $1.66 miesięcznie przy 12 miesiącach (2 November 2026).
Jaka jest różnica między REST serverem restic a backendami SFTP?
| Funkcja | SFTP | rest-server |
|---|---|---|
| Oprogramowanie na VPS | OpenSSH, już zainstalowany | rest-server (pakiet Debian 13 restic-rest-server lub obraz Docker restic/rest-server) |
| Transport | SSH | HTTP lub HTTPS, domyślnie port 8000 |
| Logowanie | Klucze SSH dla każdego konta Unix | Użytkownik i hasło HTTP z pliku htpasswd (bcrypt lub SHA) |
| Klient może usuwać stare snapshoty | Tak | Nie, z --append-only |
| Użytkownicy od siebie odseparowani | Konta Unix i uprawnienia do folderów | --private-repos: każdy użytkownik tylko pod /<user>/ |
| Układ repozytorium na dysku | Taki sam jak w lokalnym repozytorium | Taki sam jak w lokalnym repozytorium |
| Szyfrowanie repozytorium | restic, zawsze włączone | restic, zawsze włączone |
Czy rest-server jest szybszy niż SFTP?
Projekt rest-server twierdzi, że tak: w porównaniu z SFTP backend REST działa lepiej i skaluje się dalej. W swoim README podaje powód: SFTP przesyła dane w porcjach o rozmiarze najwyżej 32 KiB i serwer potwierdza każdy pakiet, podczas gdy REST wysyła całe pliki przez HTTP. Samo HTTP usuwa też narzut TLS, bo restic i tak szyfruje wszystko, co wysyła; README dodaje, że HTTPS służy wtedy głównie do ochrony logowania. To twierdzenie samego projektu, a nie benchmark, który przeprowadziliśmy. Na VPS do przechowywania danych z dyskami twardymi to dyski i Twoje łącze wysyłowe często narzucają tempo, zanim zrobi to protokół.
Po stronie klienta SFTP ma jedną znaną niedogodność: dokumentacja restic zauważa, że serwery SFTP zamykają połączenia, gdy przez jakiś czas nic nie otrzymują, co mogą wywołać długie skany niezmienionych plików.
Kiedy zwykły SFTP jest lepszym wyborem?
Gdy jedna zaufana maszyna robi kopię zapasową na własne konto i nie chcesz dodatkowej usługi, dodatkowego portu ani niczego nowego do łatanie. restic potrzebuje tylko restic -r sftp:user@host:/path init i klucza SSH bez monitu o hasło, bo automatyczna kopia zapasowa nie może się zatrzymać, żeby o nie zapytać. Słabość jest ta, która najbardziej liczy się w walce z ransomware: kto kontroluje klienta, może też uruchomić restic forget --prune i usunąć każdy snapshot, bo SFTP nie ma trybu append-only.
Aby każde konto SFTP nie mogło przeglądać reszty serwera, OpenSSH może zamknąć je we własnym folderze bez shella:
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_keysJak uruchomić rest-server z append-only i prywatnymi repozytoriami?
Na Debianie 13 zainstaluj restic-rest-server, wskaż folder danych poza /home i przekaż --append-only --private-repos oraz TLS w pliku domyślnym usługi. Spakowana usługa działa jako użytkownik restic-rest-server, czyta BACKUP_DIR, LISTEN i ARGS z /etc/default/restic-rest-server, odmawia startu, dopóki BACKUP_DIR nie jest ustawione, i ukrywa /home przed daemonem. Z --private-repos użytkownik laptop może otwierać tylko repozytoria pod /laptop/, więc kilka osób może dzielić jeden VPS do przechowywania danych, nie widząc swoich snapshotów. Samopodpisany certyfikat wystarczy, bo klient przypina go przez --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 ~/PicturesJak przycinać snapshoty, gdy rest-server działa w trybie append-only?
Uruchom forget --prune z zaufanej maszyny administracyjnej przez ścieżkę, która nie jest append-only, i zapisz politykę przez --keep-within. rest-server trzyma repozytorium w tym samym układzie co lokalne repozytorium, więc SFTP jako root dociera do dokładnie tego samego folderu, a hasła do repozytorium nigdy nie trzeba wpisywać na VPS.
Część --keep-within ma znaczenie. Dokumentacja restic opisuje atakującego, który dodaje puste snapshoty do repozytorium append-only, aby polityka taka jak jeden snapshot na tydzień usunęła te prawdziwe; polityka oparta na czasie zachowuje i śmieci, i prawdziwe snapshoty. Pomaga tylko wtedy, gdy zegar systemowy jest prawidłowy, kiedy forget się uruchamia, i nie jest powodem, by pominąć najpierw spojrzenie na restic snapshots.
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%Który backend wybrać?
Wybierz rest-server, gdy maszyna z kopią zapasową jest wystawiona do internetu; wybierz SFTP dla jednej, dobrze utrzymanej maszyny, gdzie prostota wygrywa. Cel append-only nie może zostać opróżniony przez atakującego, który szyfruje Twój serwer, i ta jedna właściwość przeważa nad dodatkowym daemonem.
| Twoja sytuacja | Backend | Dlaczego |
|---|---|---|
| Jeden laptop lub komputer stacjonarny, jedno konto | SFTP | Nic do zainstalowania, brak nowego portu |
| Publiczne serwery, które mogą zostać zhakowane | rest-server --append-only | Skradziony klient nie może usunąć historii |
| Kilka osób lub maszyn na jednym VPS | rest-server --private-repos | Każde logowanie widzi tylko swój folder |
| Z sieci wychodzi tylko HTTP lub HTTPS | rest-server | Działa tam, gdzie SSH jest zablokowane |
| Oba: klienty append-only, administrator przycina | rest-server dla klientów, SFTP jako root dla administratora | Ten sam folder, dwa poziomy dostępu |
Ile kosztuje 1 TB w restic?
Według badania Coffervale z 2 listopada 2026 Backblaze B2, magazyn obiektowy natywnie obsługiwany przez restic, kosztował $6.95 za TB miesięcznie, a plany storage VPS u dostawców przyjmujących kryptowaluty bez dokumentu tożsamości miały medianę $4.00 za TB. Magazyn obiektowy nie wymaga serwera do utrzymania, ale nie oferuje żadnego z dwóch omawianych tu backendów; storage VPS obsługuje oba. Nie wykonujemy kopii zapasowej Twojego serwera ani nie przechowujemy kopii Twoich danych nigdzie indziej, więc to, co znajduje się na storage VPS Coffervale, powinno być jedną z Twoich kopii, nigdy jedyną: VPS to Twoja kopia off-site, jak wyjaśnia Jak używać VPS do kopii zapasowych off-site?]. Jeśli wolisz Borg, postępuj według Jak skonfigurować serwer kopii zapasowych Borg na VPS?]; aby zaszyfrować dysk pod spodem, zobacz Jak zamontować i sformatować dysk storage na Linux VPS?]. Plany i warunki znajdziesz na Ile kosztuje storage VPS miesięcznie?].
Pytania o restic na VPS
Czy restic przez SFTP jest szyfrowany?
Dwa razy. restic szyfruje każdy przechowywany plik algorytmem AES-256 i uwierzytelnia go za pomocą Poly1305-AES przed wysłaniem, a SSH szyfruje połączenie. VPS przechowuje wyłącznie zaszyfrowane dane.
Czy rest-server potrzebuje HTTPS, skoro restic już szyfruje dane?
Tak, ze względu na logowanie. Bez TLS nazwa użytkownika i hasło HTTP przechodzą przez sieć jawnym tekstem, a każdy, kto je przechwyci, może zapisywać do Twojego repozytorium. Użyj --tls albo trzymaj rest-server na localhost i łącz się z nim przez tunel SSH.
Czy rest-server i SFTP mogą obsługiwać to samo repozytorium?
Tak. Oba używają tego samego układu folderów co repozytorium lokalne, więc klienci mogą zapisywać przez rest-server w trybie append-only, podczas gdy administrator usuwa stare dane z tego samego folderu przez SFTP.
Na którym porcie nasłuchuje rest-server?
Domyślnie na porcie 8000 na wszystkich adresach. Otwórz go w zaporze tylko dla adresów, które robią kopie zapasowe, albo przypisz go do prywatnego adresu, np. interfejsu WireGuard.
Którą wersję restic powinienem uruchamiać?
Najnowszym wydaniem na 2 listopada 2026 był restic 0.19.1 z 5 lipca 2026; Debian 13 dostarcza 0.18.0. Wersja formatu repozytorium 2, obecna domyślna, wymaga restic 0.14.0 lub nowszego na każdej maszynie, która je otwiera.
Źródła (10)
- Rest Server README: po co go używać, tryb append-only, prywatne repozytoria, htpasswd, TLS — restic project (read 2026-11-02)
- Dokumentacja restic: Przygotowanie nowego repozytorium (SFTP, REST Server, B2) — restic project (read 2026-11-02)
- Dokumentacja restic: Usuwanie snapshotów kopii zapasowych, kwestie bezpieczeństwa w trybie append-only — restic project (read 2026-11-02)
- Dokumentacja restic: Skrypty, zmienne środowiskowe — restic project (read 2026-11-02)
- Dokumentacja restic: References, repository encryption — restic project (read 2026-11-02)
- Wydania restic (0.19.1 z 5 lipca 2026) — restic project on GitHub (read 2026-11-02)
- Pakiet Debian trixie restic-rest-server 0.13.0-2: unit usługi i wartości domyślne — Debian (read 2026-11-02)
- Wyszukiwanie pakietów Debian trixie: restic 0.18.0 — Debian (read 2026-11-02)
- sshd_config(5): Match, ChrootDirectory, ForceCommand — OpenBSD project (OpenSSH) (read 2026-11-02)
- Cennik B2 Cloud Storage backblaze.com/cloud-storage/pricing — Backblaze (read 2026-11-02)