Без ID під час реєстрації · Storage VPS від 500 GB до 8 TB · Оплата в BTC, USDT, USDC, ETH, SOL, LTC, XMR
Мова: Українська
Отримати сховище

restic · rest-server проти SFTP

Restic: REST server чи SFTP для резервних копій на storage VPS?

Обидва бекенди зберігають той самий зашифрований репозиторій у тій самій структурі папок. Різниця в тому, хто може що видаляти, скільки людей ділять сервер і скільки протокол коштує в мережі.

Останнє оновлення: · 7 хв читання

Коротка відповідь

Restic: REST server чи SFTP для резервних копій на VPS?

Для резервних копій restic на VPS використовуйте rest-server, коли клієнти не повинні видаляти знімки: його режим --append-only відхиляє видалення, а --private-repos тримає кожного користувача в окремій папці. Використовуйте SFTP, коли одна довірена машина робить резервні копії і вам потрібен лише SSH. На Coffervale storage VPS 1 TB коштує $1.66 на місяць при оплаті за 12 місяців (2 November 2026).

Яка різниця між REST server і SFTP бекендами restic?

ФункціяSFTPrest-server
Програмне забезпечення на VPSOpenSSH, уже встановленийrest-server (пакет Debian 13 restic-rest-server, або Docker-образ restic/rest-server)
ТранспортSSHHTTP або HTTPS, порт 8000 за замовчуванням
ВхідSSH-ключі для кожного Unix-акаунтаHTTP-користувач і пароль із файлу htpasswd (bcrypt або SHA)
Клієнт може видаляти старі снапшотиТакНі, з --append-only
Користувачі розділеніUnix-акаунти та дозволи на папки--private-repos: кожен користувач лише під /<user>/
Структура репозиторію на дискуТака сама, як у локального репозиторіюТака сама, як у локального репозиторію
Шифрування репозиторіюrestic, завжди ввімкненеrestic, завжди ввімкнене

Чи rest-server швидший за SFTP?

Проєкт rest-server каже, що так: порівняно з SFTP REST-бекенд працює краще й масштабується далі. У його README пояснено причину: SFTP передає дані шматками щонайбільше 32 KiB, і сервер підтверджує кожен пакет, тоді як REST надсилає файли цілком через HTTP. Звичайний HTTP також прибирає накладні витрати TLS, адже restic і так шифрує все, що надсилає; у README додано, що HTTPS тоді переважно слугує захисту логіна. Це твердження самого проєкту, а не бенчмарк, який ми проводили. На storage VPS із жорсткими дисками диски та ваш uplink часто задають темп раніше, ніж протокол.

На боці клієнта SFTP має одну відому неприємність: документація restic зазначає, що SFTP-сервери закривають з'єднання, коли нічого не отримують протягом певного часу, а це можуть спричинити довгі сканування незмінених файлів.

Коли звичайний SFTP — кращий вибір?

Коли одна машина, якій ви довіряєте, робить бекап у власний акаунт, і ви не хочете ні зайвого сервісу, ні зайвого порту, ні чогось нового лагодити. restic потребує лише restic -r sftp:user@host:/path init і SSH-ключа без запиту парольної фрази, бо автоматичний бекап не може спинитися, щоб її запитати. Слабкість — та, що найважливіша проти ransomware: той, хто контролює клієнт, може також виконати restic forget --prune і видалити всі снапшоти, бо в SFTP немає режиму append-only.

Щоб кожен SFTP-акаунт не міг переглядати решту сервера, OpenSSH може замкнути його у власній папці без shell:

/etc/ssh/sshd_config.d/restic-sftp.conf, then sshd -t && systemctl reload ssh
Match User restic-laptop
    ForceCommand internal-sftp
    ChrootDirectory /srv/restic-sftp/%u
    AllowTcpForwarding no
    X11Forwarding no
Акаунт, chroot і репозиторій, від імені root на VPS; клієнт далі використовує sftp:[email protected]:/repo
useradd --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_keys

Як запустити rest-server з append-only та приватними репозиторіями?

На Debian 13 встановіть restic-rest-server, спрямуйте його на папку з даними поза /home і передайте --append-only --private-repos разом із TLS у його файлі defaults. Пакетний сервіс працює від користувача restic-rest-server, читає BACKUP_DIR, LISTEN і ARGS з /etc/default/restic-rest-server, відмовляється стартувати, доки не задано BACKUP_DIR, і ховає /home від демона. З --private-repos користувач laptop може відкривати репозиторії лише під /laptop/, тож кілька людей можуть ділити один storage VPS, не бачачи снапшотів одне одного. Самопідписаного сертифіката достатньо, бо клієнт закріплює його через --cacert.

На storage VPS, від імені root (Debian 13)
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-server
На клієнті: облікові дані в приватному файлі, не в URL
mkdir -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 ~/Pictures

Як робити prune снапшотів, коли rest-server працює в append-only?

Запускайте forget --prune з довіреної адмін-машини через шлях, що не є append-only, і задавайте політику через --keep-within. rest-server зберігає репозиторій у тій самій структурі, що й локальний репозиторій, тож SFTP від імені root дістає ту саму папку, і пароль репозиторію ніколи не доведеться вводити на VPS.

Частина --keep-within важлива. Документація restic описує атакувальника, який додає порожні снапшоти в append-only репозиторій, щоб політика на кшталт одного снапшота на тиждень відкинула справжні; політика на основі часу зберігає і сміття, і справжні снапшоти. Вона допомагає лише тоді, коли системний годинник правильний під час запуску forget, і це не причина пропускати спершу погляд на 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%

Який бекенд вибрати?

Вибирайте rest-server, коли машина, яку бекапите, дивиться в інтернет; вибирайте SFTP для однієї доглянутої машини, де перемагає простота. Append-only ціль не може спорожнити атакувальник, який шифрує ваш сервер, і ця одна властивість переважує зайвий демон.

Ваша ситуаціяБекендЧому
Один ноутбук чи десктоп, один акаунтSFTPНічого встановлювати, жодного нового порту
Публічні сервери, які можуть зламатиrest-server --append-onlyВикрадений клієнт не може видалити історію
Кілька людей або машин на одному VPSrest-server --private-reposКожен логін бачить лише власну папку
З мережі дозволено назовні лише HTTP або HTTPSrest-serverПрацює там, де SSH заблоковано
Обидва: клієнти в append-only, адмін робить prunerest-server для клієнтів, SFTP від імені root для адмінаТа сама тека, два рівні доступу

Скільки коштує ціль restic за TB?

За даними опитування Coffervale від 2 листопада 2026 року, Backblaze B2 — об'єктне сховище, яке restic підтримує нативно, — коштувало $6.95 за TB на місяць, тоді як storage VPS тарифи від хостингів, що приймають криптовалюту без документа, що посвідчує особу, мали медіану $4.00 за TB. Об'єктне сховище не потребує сервера для обслуговування, але не пропонує жодного з двох бекендів, розглянутих тут; storage VPS підтримує обидва. Ми не робимо бекапів вашого сервера й не зберігаємо копію ваших даних деінде, тож те, що лежить на storage VPS у Coffervale, має бути однією з ваших копій, але ніколи не єдиною: VPS — це ваша off-site копія, як пояснює How do I use a VPS for off-site backups?. Якщо ви надаєте перевагу Borg, дотримуйтесь How do I set up a Borg backup server on a VPS?; щоб зашифрувати диск під ним, дивіться How do I mount and format the storage disk on a Linux VPS?. Тарифи й умови — на How much does a storage VPS cost per month?.

Запитання про restic на VPS

Чи зашифрований restic через SFTP?

Двічі. restic шифрує кожен файл, який зберігає, алгоритмом AES-256 і автентифікує його за допомогою Poly1305-AES перед завантаженням, а SSH шифрує з'єднання. VPS зберігає лише шифротекст.

Чи потрібен rest-server HTTPS, якщо restic уже шифрує дані?

Так, для входу. Без TLS HTTP-ім'я користувача й пароль передаються мережею у відкритому вигляді, і будь-хто, хто їх перехопить, зможе писати у ваш репозиторій. Використовуйте --tls або тримайте rest-server на localhost і звертайтеся до нього через SSH-тунель.

Чи можуть rest-server і SFTP обслуговувати один і той самий репозиторій?

Так. Обидва використовують ту саму структуру тек, що й локальний репозиторій, тож клієнти можуть писати через append-only rest-server, поки адміністратор виконує prune тієї самої теки через SFTP.

На якому порту слухає rest-server?

Порт 8000 на всіх адресах за замовчуванням. Відкрийте його у фаєрволі лише для адрес, які роблять резервні копії, або прив'яжіть його до приватної адреси, наприклад інтерфейсу WireGuard.

Яку версію restic слід використовувати?

Останнім релізом на 2 листопада 2026 року був restic 0.19.1 від 5 липня 2026 року; Debian 13 постачає 0.18.0. Версія формату репозиторію 2, поточне значення за замовчуванням, потребує restic 0.14.0 або новішого на кожній машині, що його відкриває.

Джерела (10)
  1. Rest Server README: навіщо його використовувати, append-only режим, приватні репозиторії, htpasswd, TLS — restic project (read 2026-11-02)
  2. Документація restic: підготовка нового репозиторію (SFTP, REST Server, B2) — restic project (read 2026-11-02)
  3. Документація restic: видалення знімків резервних копій, міркування безпеки в append-only режимі — restic project (read 2026-11-02)
  4. Документація restic: скриптування, змінні середовища — restic project (read 2026-11-02)
  5. Документація restic: References, шифрування репозиторію — restic project (read 2026-11-02)
  6. Релізи restic (0.19.1 від 5 липня 2026 року) — restic project on GitHub (read 2026-11-02)
  7. Пакет Debian trixie restic-rest-server 0.13.0-2: service unit і значення за замовчуванням — Debian (read 2026-11-02)
  8. Пошук пакета Debian trixie: restic 0.18.0 — Debian (read 2026-11-02)
  9. sshd_config(5): Match, ChrootDirectory, ForceCommand — OpenBSD project (OpenSSH) (read 2026-11-02)
  10. Ціни B2 Cloud Storage backblaze.com/cloud-storage/pricing — Backblaze (read 2026-11-02)

Від $1.24/місяць · без KYC

Отримати сховище