Jawaban singkat
Restic: REST server atau SFTP untuk backup ke VPS?
Untuk backup restic ke VPS, gunakan rest-server ketika klien tidak boleh menghapus snapshot: mode --append-only-nya menolak penghapusan dan --private-repos menjaga setiap pengguna di foldernya sendiri. Gunakan SFTP ketika satu mesin tepercaya melakukan backup dan Anda hanya ingin SSH. Pada storage VPS Coffervale, 1 TB berharga $1.66 per bulan dengan 12 bulan (2 November 2026).
Apa perbedaan antara REST server restic dan backend SFTP?
| Fitur | SFTP | rest-server |
|---|---|---|
| Software di VPS | OpenSSH, sudah terpasang | rest-server (paket Debian 13 restic-rest-server, atau image Docker restic/rest-server) |
| Transport | SSH | HTTP atau HTTPS, port 8000 secara default |
| Login | SSH key per akun Unix | User dan password HTTP dari file htpasswd (bcrypt atau SHA) |
| Klien dapat menghapus snapshot lama | Ya | Tidak, dengan --append-only |
| Pengguna dipisahkan | Akun Unix dan izin folder | --private-repos: setiap pengguna hanya di bawah /<user>/ |
| Tata letak repositori di disk | Sama seperti repositori lokal | Sama seperti repositori lokal |
| Enkripsi repositori | restic, selalu aktif | restic, selalu aktif |
Apakah rest-server lebih cepat daripada SFTP?
Proyek rest-server menyatakan ya: dibandingkan SFTP, backend REST berperforma lebih baik dan lebih mudah diskalakan. README-nya menjelaskan alasannya: SFTP memindahkan data dalam potongan maksimal 32 KiB dan server mengonfirmasi setiap paket, sedangkan REST mengirim seluruh file melalui HTTP. HTTP biasa juga menghilangkan beban TLS, karena restic sudah mengenkripsi semua yang dikirimnya; README menambahkan bahwa HTTPS kemudian terutama berfungsi melindungi proses login. Itu klaim proyek itu sendiri, bukan benchmark yang kami jalankan. Pada storage VPS dengan hard disk, kecepatan disk dan uplink Anda sering kali menentukan sebelum protokolnya.
Di sisi klien, SFTP punya satu gangguan yang diketahui: dokumentasi restic mencatat bahwa server SFTP menutup koneksi bila tidak menerima apa pun untuk sementara waktu, yang bisa dipicu oleh pemindaian panjang file yang tidak berubah.
Kapan SFTP biasa menjadi pilihan yang lebih baik?
Ketika satu mesin yang Anda percaya mem-backup ke akunnya sendiri dan Anda tidak ingin layanan tambahan, port tambahan, maupun hal baru untuk di-patch. restic hanya membutuhkan restic -r sftp:user@host:/path init dan SSH key tanpa prompt passphrase, karena backup otomatis tidak bisa berhenti untuk memintanya. Kelemahannya adalah yang paling penting melawan ransomware: siapa pun yang mengendalikan klien juga dapat menjalankan restic forget --prune dan menghapus semua snapshot, karena SFTP tidak memiliki mode append-only.
Agar setiap akun SFTP tidak bisa menelusuri bagian lain server, OpenSSH dapat menguncinya di foldernya sendiri tanpa 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_keysBagaimana cara menjalankan rest-server dengan repositori append-only dan privat?
Di Debian 13, instal restic-rest-server, arahkan ke folder data di luar /home, dan berikan --append-only --private-repos plus TLS di file defaults-nya. Layanan dari paket berjalan sebagai user restic-rest-server, membaca BACKUP_DIR, LISTEN dan ARGS dari /etc/default/restic-rest-server, menolak start sampai BACKUP_DIR diatur, dan menyembunyikan /home dari daemon. Dengan --private-repos, user laptop hanya boleh membuka repositori di bawah /laptop/, sehingga beberapa orang dapat berbagi satu storage VPS tanpa saling melihat snapshot. Sertifikat self-signed sudah cukup, karena klien mem-pin-nya dengan --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 ~/PicturesBagaimana cara prune snapshot ketika rest-server bersifat append-only?
Jalankan forget --prune dari mesin admin yang tepercaya melalui path yang tidak append-only, dan tulis kebijakannya dengan --keep-within. rest-server menyimpan repositori dalam tata letak yang sama seperti repositori lokal, jadi SFTP sebagai root mencapai folder yang sama persis, dan password repositori tidak pernah harus diketik di VPS.
Bagian --keep-within itu penting. Dokumentasi restic menjelaskan penyerang yang menambahkan snapshot kosong ke repositori append-only sehingga kebijakan seperti satu snapshot per minggu menghapus snapshot asli; kebijakan berbasis waktu mempertahankan sampah maupun snapshot asli. Ini hanya membantu bila jam sistem benar saat forget berjalan, dan bukan alasan untuk melewatkan pemeriksaan restic snapshots terlebih dahulu.
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%Backend mana yang harus saya pilih?
Pilih rest-server setiap kali mesin yang di-backup menghadap internet; pilih SFTP untuk satu mesin yang terawat baik dan kesederhanaan lebih diutamakan. Target append-only tidak dapat dikosongkan oleh penyerang yang mengenkripsi server Anda, dan satu sifat itu lebih penting daripada daemon tambahan.
| Situasi Anda | Backend | Alasan |
|---|---|---|
| Satu laptop atau desktop, satu akun | SFTP | Tidak ada yang perlu diinstal, tidak ada port baru |
| Server publik yang bisa diretas | rest-server --append-only | Klien yang dicuri tidak dapat menghapus riwayat |
| Beberapa orang atau mesin di satu VPS | rest-server --private-repos | Setiap login hanya melihat foldernya sendiri |
| Hanya HTTP atau HTTPS yang diizinkan keluar dari jaringan | rest-server | Berfungsi di tempat SSH diblokir |
| Keduanya: klien append-only, admin melakukan prune | rest-server untuk klien, SFTP sebagai root untuk admin | Folder yang sama, dua tingkat akses |
Berapa biaya target restic per TB?
Menurut survei Coffervale pada 2 November 2026, Backblaze B2, object store yang didukung restic secara native, berbiaya $6.95 per TB per bulan, sementara paket storage VPS dari host yang menerima kripto tanpa dokumen identitas memiliki median $4.00 per TB. Object store tidak perlu server untuk dirawat tetapi tidak menawarkan kedua backend yang dibahas di sini; storage VPS menjalankan keduanya. Kami tidak membuat backup server Anda dan tidak menyimpan salinan data Anda di tempat lain mana pun, jadi yang ada di storage VPS Coffervale harus menjadi salah satu salinan Anda, jangan pernah satu-satunya: VPS adalah salinan off-site Anda, seperti yang dijelaskan Bagaimana cara menggunakan VPS untuk backup off-site?. Jika Anda lebih memilih Borg, ikuti Bagaimana cara menyiapkan server backup Borg di VPS?; untuk mengenkripsi disk di bawahnya, lihat Bagaimana cara me-mount dan memformat disk penyimpanan di VPS Linux?. Paket dan ketentuannya ada di Berapa biaya storage VPS per bulan?.
Pertanyaan tentang restic di VPS
Apakah restic melalui SFTP terenkripsi?
Dua kali. restic mengenkripsi setiap file yang disimpannya dengan AES-256 dan mengautentikasinya dengan Poly1305-AES sebelum diunggah, dan SSH mengenkripsi koneksinya. VPS hanya pernah menyimpan ciphertext.
Apakah rest-server perlu HTTPS jika restic sudah mengenkripsi data?
Ya, untuk login. Tanpa TLS, user dan password HTTP melintasi jaringan dalam teks polos, dan siapa pun yang menangkapnya dapat menulis ke repositori Anda. Gunakan --tls, atau biarkan rest-server di localhost dan akses melalui SSH tunnel.
Bisakah rest-server dan SFTP melayani repositori yang sama?
Ya. Keduanya menggunakan tata letak folder yang sama seperti repositori lokal, jadi klien dapat menulis melalui rest-server append-only sementara admin melakukan prune pada folder yang sama melalui SFTP.
Port mana yang didengarkan rest-server?
Port 8000 di semua alamat secara default. Buka di firewall hanya untuk alamat yang melakukan backup, atau ikat ke alamat privat seperti antarmuka WireGuard.
Versi restic mana yang harus saya jalankan?
Rilis terbaru pada 2 November 2026 adalah restic 0.19.1, dari 5 Juli 2026; Debian 13 menyertakan 0.18.0. Format repositori versi 2, default saat ini, membutuhkan restic 0.14.0 atau lebih baru di setiap mesin yang membukanya.
Sumber (10)
- Rest Server README: mengapa menggunakannya, mode append-only, repositori privat, htpasswd, TLS — restic project (read 2026-11-02)
- Dokumentasi restic: Menyiapkan repositori baru (SFTP, REST Server, B2) — restic project (read 2026-11-02)
- Dokumentasi restic: Menghapus snapshot backup, pertimbangan keamanan dalam mode append-only — restic project (read 2026-11-02)
- Dokumentasi restic: Scripting, environment variable — restic project (read 2026-11-02)
- Dokumentasi restic: References, enkripsi repositori — restic project (read 2026-11-02)
- Rilis restic (0.19.1 dari 5 Juli 2026) — restic project on GitHub (read 2026-11-02)
- Paket Debian trixie restic-rest-server 0.13.0-2: unit service dan default — Debian (read 2026-11-02)
- Pencarian paket Debian trixie: restic 0.18.0 — Debian (read 2026-11-02)
- sshd_config(5): Match, ChrootDirectory, ForceCommand — OpenBSD project (OpenSSH) (read 2026-11-02)
- Harga B2 Cloud Storage backblaze.com/cloud-storage/pricing — Backblaze (read 2026-11-02)