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

> Restic: REST server чи SFTP для резервних копій на VPS? rest-server додає --append-only та --private-repos; SFTP потребує лише SSH. 1 TB $1.66, без ID.

- URL: https://coffervale.com/uk/restic-rest-server-vs-sftp/
- Останнє оновлення: 2026-11-02
- Видавець: Coffervale (https://coffervale.com)

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

**Коротка відповідь — 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?

| Функція | SFTP | rest-server |
| --- | --- | --- |
| Програмне забезпечення на VPS | OpenSSH, уже встановлений | rest-server (пакет Debian 13 `restic-rest-server`, або Docker-образ `restic/rest-server`) |
| Транспорт | SSH | HTTP або 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*

```text
Match User restic-laptop
    ForceCommand internal-sftp
    ChrootDirectory /srv/restic-sftp/%u
    AllowTcpForwarding no
    X11Forwarding no
```

*Акаунт, chroot і репозиторій, від імені root на VPS; клієнт далі використовує sftp:restic-laptop@203.0.113.10:/repo*

```bash
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)*

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

```bash
mkdir -p ~/.config/restic
scp root@203.0.113.10:/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`.

*З адмін-машини, ніколи з клієнта*

```bash
restic -r sftp:root@203.0.113.10:/srv/restic/laptop snapshots
restic -r sftp:root@203.0.113.10:/srv/restic/laptop forget --keep-within 90d --prune
restic -r sftp:root@203.0.113.10:/srv/restic/laptop check --read-data-subset=5%
```

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

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

| Ваша ситуація | Бекенд | Чому |
| --- | --- | --- |
| Один ноутбук чи десктоп, один акаунт | SFTP | Нічого встановлювати, жодного нового порту |
| Публічні сервери, які можуть зламати | rest-server `--append-only` | Викрадений клієнт не може видалити історію |
| Кілька людей або машин на одному VPS | rest-server `--private-repos` | Кожен логін бачить лише власну папку |
| З мережі дозволено назовні лише HTTP або HTTPS | rest-server | Працює там, де SSH заблоковано |
| Обидва: клієнти в append-only, адмін робить prune | rest-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?](https://coffervale.com/uk/backup-vps/ "Off-site backups and the 3-2-1 rule"). Якщо ви надаєте перевагу Borg, дотримуйтесь [How do I set up a Borg backup server on a VPS?](https://coffervale.com/uk/borg-backup-server-on-a-vps/ "Borg server with append-only keys"); щоб зашифрувати диск під ним, дивіться [How do I mount and format the storage disk on a Linux VPS?](https://coffervale.com/uk/mount-storage-disk-on-a-vps/ "Format, mount and encrypt the data disk"). Тарифи й умови — на [How much does a storage VPS cost per month?](https://coffervale.com/uk/pricing/ "Coffervale storage VPS prices").

## Запитання про 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 або новішого на кожній машині, що його відкриває.

## Джерела

1. [Rest Server README: навіщо його використовувати, append-only режим, приватні репозиторії, htpasswd, TLS](https://github.com/restic/rest-server) — restic project (read 2026-11-02)
2. [Документація restic: підготовка нового репозиторію (SFTP, REST Server, B2)](https://restic.readthedocs.io/en/stable/030_preparing_a_new_repo.html) — restic project (read 2026-11-02)
3. [Документація restic: видалення знімків резервних копій, міркування безпеки в append-only режимі](https://restic.readthedocs.io/en/stable/060_forget.html) — restic project (read 2026-11-02)
4. [Документація restic: скриптування, змінні середовища](https://restic.readthedocs.io/en/stable/075_scripting.html) — restic project (read 2026-11-02)
5. [Документація restic: References, шифрування репозиторію](https://restic.readthedocs.io/en/stable/100_references.html) — restic project (read 2026-11-02)
6. [Релізи restic (0.19.1 від 5 липня 2026 року)](https://github.com/restic/restic/releases) — restic project on GitHub (read 2026-11-02)
7. [Пакет Debian trixie restic-rest-server 0.13.0-2: service unit і значення за замовчуванням](https://sources.debian.org/src/restic-rest-server/0.13.0-2/debian/) — Debian (read 2026-11-02)
8. [Пошук пакета Debian trixie: restic 0.18.0](https://packages.debian.org/search?keywords=restic&searchon=names&suite=trixie&section=all) — Debian (read 2026-11-02)
9. [sshd_config(5): Match, ChrootDirectory, ForceCommand](https://man.openbsd.org/sshd_config) — OpenBSD project (OpenSSH) (read 2026-11-02)
10. [Ціни B2 Cloud Storage](https://www.backblaze.com/cloud-storage/pricing) — Backblaze (read 2026-11-02)

---

Coffervale: Coffervale продає storage VPS у Європі: KVM-сервери з HDD-сховищем від 500 GB до 8 TB для позамайданчикових бекапів, Nextcloud, Seafile, Syncthing та архівів, оплата в крипті без ID під час реєстрації. Сервери працюють в Амстердамі, Бухаресті та Кишиневі, а оператор — DomaineGoat LLC, компанія, зареєстрована в Панамі. На 12-місячному терміні кожен тариф коштує щонайменше на 25% на місяць дешевше за названий порівнюваний storage VPS, обраний із 10 no-KYC крипто-хостингів, чиї ціни були зчитані 2 листопада 2026 року.
