# Como configuro um servidor de backup Borg em uma VPS de armazenamento?

> Como configurar um servidor de backup Borg em uma VPS: usuário borg, borg serve em authorized_keys, repokey, prune; 1 TB $1.66, cripto.

- URL: https://coffervale.com/pt/borg-backup-server-on-a-vps/
- Última atualização: 2026-11-02
- Editor: Coffervale (https://coffervale.com)

Um servidor Borg não é nada além de uma conta SSH que pode executar um único comando. Restrinja esse comando por chave, mantenha os clientes em modo append-only e faça o prune de um lugar onde um invasor não consiga chegar.

**Resposta rápida — Como configuro um servidor de backup Borg em uma VPS?**

Para configurar um servidor de backup Borg em uma VPS, instale o Borg 1.x nas duas pontas, crie um usuário `borg` e force `borg serve --restrict-to-path --append-only` em cada chave de cliente. Inicialize cada repositório com `repokey`; faça prune e compact a partir de uma chave de administração separada. Uma VPS de 1 TB **Coffervale** custa $1.66 por mês no plano de 12 meses (2 November 2026).

## Quais são os passos, em ordem?

1. **Instale o mesmo Borg 1.x no servidor e nos clientes** — apt install borgbackup no Debian ou Ubuntu e depois compare borg --version nas duas pontas.
2. **Crie um usuário borg e uma pasta de repositório** — Uma conta sem privilégios na VPS é dona de todos os repositórios; os clientes nunca recebem um shell.
3. **Force borg serve em authorized_keys** — Uma linha por chave de cliente, cada uma limitada ao seu próprio caminho com --restrict-to-path e --append-only.
4. **Inicialize o repositório com repokey** — Execute borg init --encryption=repokey no cliente, exporte a chave e guarde-a longe das duas máquinas.
5. **Agende borg create no cliente** — Diariamente via cron ou um timer do systemd, com a passphrase lida por BORG_PASSCOMMAND.
6. **Faça prune e compact a partir de uma chave de administração** — Uma segunda chave sem --append-only, usada de uma máquina confiável depois de conferir a lista de arquivos.
7. **Verifique o repositório e teste uma restauração** — borg check semanalmente, --verify-data mensalmente e uma borg extract real a cada poucos meses.

## Qual versão do Borg o servidor deve rodar?

**Rode o Borg 1.x nos dois lados: a 1.4.5 foi a última versão estável, em 2 de novembro de 2026, e o Borg 2 ainda está em beta.** A página do Borg 2.0 o chama de versão com mudanças incompatíveis, que não é diretamente compatível com repositórios Borg 1.x, e renomeia `borg init` para `borg repo-create`. No Debian 13, o pacote a instalar é `borgbackup` (1.4.0 no trixie); o pacote `borgbackup2` separado é um beta do 2.0. Instale a mesma versão no servidor e em todos os clientes.

*Na VPS de armazenamento, como root: Borg, um usuário borg, uma pasta por cliente*

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

## Como faço para travar cada cliente no próprio repositório?

**Coloque um comando forçado `borg serve` na frente de cada chave em `/srv/borg/.ssh/authorized_keys`, para que a chave possa rodar o Borg e nada mais.** A palavra-chave `restrict` bloqueia encaminhamento de porta, encaminhamento de agente e terminais, e a documentação do Borg observa que ela também cobre recursos de SSH adicionados em versões futuras. Os exemplos assumem um shell POSIX como shell de login da conta, e por isso o usuário acima recebe `/bin/sh`.

- `--restrict-to-path PATH` permite esse caminho e todas as pastas abaixo dele, então um cliente pode ter vários repositórios.
- `--restrict-to-repository PATH` é mais restritivo: exatamente um repositório, sem subpastas.
- `--append-only` permite que a chave adicione arquivos ao repositório, mas não remova dados dele.
- `--storage-quota 500G` limita o que uma chave pode armazenar, então um cliente descontrolado não consegue encher o disco.

Cada linha fica em uma única linha no arquivo; a chave de admin no final não tem `--append-only` e é usada apenas para o prune.

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

*Corrija o proprietário após editar, como root*

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

## Como crio o repositório com criptografia repokey?

**Rode `borg init --encryption=repokey` no cliente, depois exporte a chave e guarde-a fora tanto da VPS quanto da máquina que você faz backup.** A documentação do Borg recomenda `repokey` com uma passphrase forte como regra geral; `repokey-blake2` é o mesmo modo com hash BLAKE2b, provavelmente mais rápido em processadores sem aceleração de hardware para SHA-256. Com `repokey`, a chave fica no arquivo `config` do repositório, selada pela sua passphrase. Perca a passphrase e os backups ficam ilegíveis, para você e para todo mundo. O Borg também diz que você deve manter uma cópia da chave fora do local, por exemplo em papel.

*No cliente (aqui: o 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
```

## Como faço prune e compact em um repositório append-only?

**De uma máquina de admin confiável, com a chave que não tem `--append-only`, depois de verificar que nenhum arquivo sumiu.** No modo append-only, explicam as notas do Borg, `prune` e `delete` ainda rodam, mas apenas marcam dados como excluídos em uma nova transação, e a compactação nunca acontece, sem aviso e sem erro. O espaço do repositório não é liberado até que `borg compact` rode a partir de uma chave autorizada a reescrever.

As mesmas notas trazem a pegadinha: a primeira gravação no modo normal torna permanente toda exclusão anterior, incluindo uma feita por um atacante através de uma chave de cliente. Então liste os arquivos primeiro. Se alguns estiverem faltando, pare e siga os passos de recuperação nas notas de append-only do Borg antes de fazer qualquer prune. Um cron job que faz prune automaticamente com uma chave sem restrições torna o append-only inútil. A documentação do Borg também recomenda um `--dry-run` com `--list` antes de cada prune real.

*Na máquina de admin, Host coffer-admin usando a chave de admin*

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

## Como verifico o repositório e provo que a restauração funciona?

**Rode `borg check` semanalmente, `borg check --verify-data` mensalmente e extraia arquivos reais para outra máquina a cada poucos meses.** Um check simples verifica o repositório e os metadados dos arquivos. `--verify-data` lê, descriptografa e descomprime cada chunk, o que o Borg chama de muito demorado, e em discos rígidos é mesmo. Para um repositório grande, `--repository-only --max-duration 3600` divide a verificação do repositório em fatias de uma hora que retomam de onde pararam. Nada disso substitui uma restauração real: um backup vale tanto quanto a última vez que você tirou dados dele.

*Verificações e uma restauração de teste, a partir do cliente*

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

## Quanto custa um destino Borg em comparação com armazenamento Borg hospedado?

**Segundo o levantamento da Coffervale de 2 de novembro de 2026, o armazenamento Borg hospedado custava $9.17 por TB ao mês na BorgBase (plano Medium de 1 TB, $110.00 por ano) e $15.00 por TB na rsync.net, enquanto os planos de VPS de armazenamento de provedores que aceitam cripto sem documento de identidade tinham uma mediana de $4.00 por TB.** Os serviços hospedados rodam o servidor para você; uma VPS de armazenamento te entrega root e a configuração acima, uma escolha avaliada em [Uma VPS de armazenamento é uma alternativa mais barata à rsync.net ou à BorgBase?](https://coffervale.com/pt/rsync-net-alternative/ "Storage VPS against hosted Borg storage"). Não fazemos backup do seu servidor e não guardamos cópia dos seus dados em nenhum outro lugar, então o que fica em um storage VPS da Coffervale deve ser uma das suas cópias, nunca a única, então o servidor Borg é uma cópia entre várias, como explica [Como uso uma VPS para backups fora do local?](https://coffervale.com/pt/backup-vps/ "Off-site backups and 3-2-1 with a storage VPS"). O plano de 1 TB está detalhado em [Onde consigo uma VPS com 1 TB de armazenamento?](https://coffervale.com/pt/1tb-vps/ "1 TB storage VPS"), e se você preferir restic, leia [Restic: REST server ou SFTP para backups em uma VPS?](https://coffervale.com/pt/restic-rest-server-vs-sftp/ "restic on a storage VPS"). Para criptografar também o disco da VPS, veja [Como monto e formato o disco de armazenamento em uma VPS Linux?](https://coffervale.com/pt/mount-storage-disk-on-a-vps/ "Mount and encrypt the data disk").

### Destinos Borg por TB ao mês, 2 de novembro de 2026

| Destino Borg | Por TB ao mês | O que você mesmo roda | Pago em cripto |
| --- | --- | --- | --- |
| BorgBase Medium, 1 TB | $9.17 ($110.00 por ano) | Nada: repositórios Borg e restic hospedados | Não informado |
| rsync.net, faixa de 0 a 9 TB | $15.00 | Nada: armazenamento ZFS acessado via SSH | Não informado |
| VPS de armazenamento, mediana de 99 planos | $4.00 | O servidor Borg configurado nesta página | Sim: provedores que aceitam cripto sem documento de identidade |
| Coffervale Clay, 1 TB | $1.66 em 12 meses | O servidor Borg configurado nesta página | BTC, USDT, USDC, ETH, SOL, LTC, XMR |

*Preços verificados em 2 de novembro de 2026.*

Preços conforme lidos na própria página de cada serviço em 2 de novembro de 2026. A BorgBase cobra o plano Medium anualmente e informa os preços sem VAT; a mediana das VPS de armazenamento cobre planos de 500 GB ou mais, em estoque e cobrados mensalmente.

## Perguntas sobre um servidor de backup Borg

### Cliente e servidor precisam da mesma versão do Borg?

Mantenha ambos no Borg 1.x, de preferência a mesma versão. O Borg 2 ainda está em beta, usa um novo formato de repositório e não abre repositórios 1.x diretamente. No Debian 13, instale `borgbackup`, não `borgbackup2`.

### Devo usar --restrict-to-path ou --restrict-to-repository?

`--restrict-to-path` permite uma pasta e tudo abaixo dela, útil quando um cliente mantém vários repositórios. `--restrict-to-repository` permite exatamente um repositório e nenhuma subpasta, a escolha mais restrita quando cada cliente tem um.

### Por que meu repositório não diminui depois do borg prune?

O prune apenas marca os arquivos como excluídos; `borg compact` libera o espaço. Através de uma chave append-only, a compactação nunca roda, então faça prune e compact a partir da chave de admin.

### Uma única VPS de armazenamento pode armazenar repositórios Borg de várias máquinas?

Sim. Dê a cada máquina sua própria linha de chave no `authorized_keys`, seu próprio caminho e, se o disco for compartilhado, seu próprio `--storage-quota`. Assim, um cliente comprometido alcança apenas um repositório.

### O que acontece se eu perder a passphrase do Borg?

O repositório fica ilegível para sempre. O Borg não consegue recuperá-lo e o host também não. Guarde a passphrase em um gerenciador de senhas e a chave exportada em papel, longe da VPS e do cliente.

## Fontes

1. [Documentação do Borg 1.4.5: Hospedando repositórios](https://borgbackup.readthedocs.io/en/stable/deployment/hosting-repositories.html) — BorgBackup project (read 2026-11-02)
2. [Documentação do Borg 1.4.5: borg serve (opções de restrição, append-only, cota de armazenamento)](https://borgbackup.readthedocs.io/en/stable/usage/serve.html) — BorgBackup project (read 2026-11-02)
3. [Documentação do Borg 1.4.5: borg init (modos de criptografia, backup de chave)](https://borgbackup.readthedocs.io/en/stable/usage/init.html) — BorgBackup project (read 2026-11-02)
4. [Documentação do Borg 1.4.5: borg prune](https://borgbackup.readthedocs.io/en/stable/usage/prune.html) — BorgBackup project (read 2026-11-02)
5. [Documentação do Borg 1.4.5: borg compact](https://borgbackup.readthedocs.io/en/stable/usage/compact.html) — BorgBackup project (read 2026-11-02)
6. [Documentação do Borg 1.4.5: borg check](https://borgbackup.readthedocs.io/en/stable/usage/check.html) — BorgBackup project (read 2026-11-02)
7. [Documentação do Borg 1.4.5: Additional notes, append-only mode](https://borgbackup.readthedocs.io/en/stable/usage/notes.html) — BorgBackup project (read 2026-11-02)
8. [Documentação do Borg 1.4.5: Início rápido (BORG_PASSCOMMAND)](https://borgbackup.readthedocs.io/en/stable/quickstart.html) — BorgBackup project (read 2026-11-02)
9. [Borg 2.0 (informações preliminares)](https://www.borgbackup.org/releases/borg-2.0.html) — BorgBackup project (read 2026-11-02)
10. [Lançamentos do BorgBackup (1.4.5 mais recente, 2.0.0b25 pré-lançamento)](https://github.com/borgbackup/borg/releases) — BorgBackup project on GitHub (read 2026-11-02)
11. [Pacotes do Debian trixie: 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. [Planos e preços](https://www.borgbase.com/) — BorgBase (read 2026-11-02)
13. [Preços de armazenamento em nuvem](https://www.rsync.net/pricing.html) — rsync.net (read 2026-11-02)

---

Coffervale: A Coffervale vende storage VPS na Europa: servidores KVM com 500 GB a 8 TB de armazenamento em HDD para backups off-site, Nextcloud, Seafile, Syncthing e arquivos, pagos com cripto e sem documento de identidade no cadastro. Os servidores rodam em Amsterdã, Bucareste e Chișinău, e o operador é a DomaineGoat LLC, empresa registrada no Panamá. No prazo de 12 meses, todo plano custa pelo menos 25% a menos por mês que um storage VPS comparável nomeado, escolhido entre 10 provedores cripto sem KYC cujos preços foram lidos em 2 de novembro de 2026.
