Respuesta rápida
¿Cómo configuro un servidor de copias de seguridad Borg en un VPS?
Para configurar un servidor de copias de seguridad Borg en un VPS, instala Borg 1.x en ambos extremos, crea un usuario borg y fuerza borg serve --restrict-to-path --append-only en cada clave de cliente. Inicia cada repositorio con repokey; haz prune y compact desde una clave de administración aparte. Un VPS de 1 TB Coffervale cuesta $1.66 al mes con 12 meses (2 November 2026).
¿Cuáles son los pasos, en orden?
Instala el mismo Borg 1.x en el servidor y en los clientes
apt install borgbackupen Debian o Ubuntu y luego comparaborg --versionen ambos extremos.Crea un usuario borg y una carpeta para el repositorio
Una sola cuenta sin privilegios en el VPS es dueña de todos los repositorios; los clientes nunca obtienen una shell.
Fuerza borg serve en authorized_keys
Una línea por clave de cliente, cada una limitada a su propia ruta con
--restrict-to-pathy--append-only.Inicia el repositorio con repokey
Ejecuta
borg init --encryption=repokeydesde el cliente, luego exporta la clave y guárdala lejos de ambas máquinas.Programa borg create en el cliente
A diario desde cron o un timer de systemd, con la passphrase leída por
BORG_PASSCOMMAND.Haz prune y compact desde una clave de administración
Una segunda clave sin
--append-only, usada desde una máquina de confianza tras revisar la lista de archivos.Comprueba el repositorio y prueba una restauración
borg checksemanalmente,--verify-datamensualmente y unaborg extractreal cada pocos meses.
¿Qué versión de Borg debería ejecutar el servidor?
Ejecuta Borg 1.x en ambos extremos: la 1.4.5 era la última versión estable el 2 de noviembre de 2026, y Borg 2 sigue en beta. La página de Borg 2.0 la describe como una versión con cambios incompatibles que no es directamente compatible con los repositorios de Borg 1.x, y renombra borg init a borg repo-create. En Debian 13 el paquete que hay que instalar es borgbackup (1.4.0 en trixie); el paquete borgbackup2 aparte es una beta de la 2.0. Instala la misma versión en el servidor y en cada cliente.
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¿Cómo bloqueo cada cliente a su propio repositorio?
Pon un comando borg serve forzado delante de cada clave en /srv/borg/.ssh/authorized_keys, para que la clave pueda ejecutar Borg y nada más. La palabra clave restrict bloquea el reenvío de puertos, el reenvío de agentes y las terminales, y la documentación de Borg señala que también cubre funciones de SSH añadidas en versiones futuras. Los ejemplos suponen un shell POSIX como shell de inicio de sesión de la cuenta, por eso el usuario de arriba usa /bin/sh.
--restrict-to-path PATHpermite esa ruta y todas las carpetas que hay debajo, así que un cliente puede tener varios repositorios.--restrict-to-repository PATHes más estricto: exactamente un repositorio, sin subcarpetas.--append-onlypermite a la clave añadir archivos pero no eliminar datos del repositorio.--storage-quota 500Glimita lo que puede almacenar una clave, para que un cliente descontrolado no llene el disco.
Cada línea se queda en una sola línea del archivo; la clave de administración al final no tiene --append-only y solo se usa para la purga.
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... adminchown borg:borg /srv/borg/.ssh/authorized_keys
chmod 600 /srv/borg/.ssh/authorized_keys¿Cómo creo el repositorio con cifrado repokey?
Ejecuta borg init --encryption=repokey desde el cliente, luego exporta la clave y guárdala fuera tanto del VPS como de la máquina de la que haces la copia. La documentación de Borg recomienda repokey con una contraseña fuerte como regla general; repokey-blake2 es el mismo modo con un hash BLAKE2b, probablemente más rápido en procesadores sin SHA-256 acelerado por hardware. Con repokey, la clave está en el archivo config del repositorio, sellada con tu contraseña. Si pierdes la contraseña, las copias de seguridad quedan ilegibles, tanto para ti como para cualquier otra persona. Borg también indica que debes guardar una copia de la clave fuera del sitio, por ejemplo en papel.
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#!/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¿Cómo hago prune y compact en un repositorio append-only?
Desde una máquina de administración de confianza, con la clave que no tiene --append-only, después de comprobar que no falta ningún archivo. En modo append-only, según explican las notas de Borg, prune y delete se siguen ejecutando pero solo marcan los datos como eliminados en una nueva transacción, y la compactación nunca ocurre, sin aviso ni error. El espacio del repositorio no se libera hasta que se ejecuta borg compact desde una clave autorizada a reescribir.
Esas mismas notas incluyen la trampa: la primera escritura en modo normal hace permanente toda eliminación anterior, incluida una que un atacante haya hecho a través de una clave de cliente. Así que lista primero los archivos. Si falta alguno, detente y sigue los pasos de recuperación de las notas de append-only de Borg antes de purgar nada. Un cron que purga automáticamente con una clave sin restricciones hace que el modo append-only no sirva de nada. La documentación de Borg también recomienda un --dry-run con --list antes de cada purga real.
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¿Cómo compruebo el repositorio y demuestro que una restauración funciona?
Ejecuta borg check cada semana, borg check --verify-data cada mes, y extrae archivos reales a otra máquina cada pocos meses. Una comprobación normal verifica el repositorio y los metadatos de los archivos. --verify-data lee, descifra y descomprime cada fragmento, lo que Borg califica de muy lento, y en discos duros lo es. Para un repositorio grande, --repository-only --max-duration 3600 divide la comprobación del repositorio en tramos de una hora que se reanudan donde se detuvieron. Nada de esto sustituye a una restauración real: una copia de seguridad vale tanto como la última vez que sacaste datos de ella.
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¿Cuánto cuesta un destino Borg en comparación con el almacenamiento Borg alojado?
Según el estudio de Coffervale del 2 de noviembre de 2026, el almacenamiento Borg alojado costaba $9.17 por TB al mes en BorgBase (plan Medium de 1 TB, $110.00 al año) y $15.00 por TB en rsync.net, mientras que los planes de VPS de almacenamiento de proveedores que aceptan criptomonedas sin documento de identidad tenían una mediana de $4.00 por TB. Los servicios alojados ejecutan el servidor por ti; un VPS de almacenamiento te da root y la configuración de arriba, una elección que se sopesa en ¿Es un VPS de almacenamiento una alternativa más barata a rsync.net o BorgBase?. No hacemos copias de seguridad de tu servidor ni guardamos ninguna copia de tus datos en otro lugar, así que lo que está en un VPS de almacenamiento de Coffervale debe ser una de tus copias, nunca la única, así que el servidor Borg es una copia entre varias, como explica ¿Cómo uso un VPS para copias de seguridad fuera del sitio?. El plan de 1 TB se detalla en ¿Dónde puedo conseguir un VPS con 1 TB de almacenamiento?, y si prefieres restic, lee Restic: ¿servidor REST o SFTP para copias de seguridad a un VPS?. Para cifrar también el disco del VPS, consulta ¿Cómo monto y formateo el disco de almacenamiento en un VPS Linux?.
Destinos Borg por TB al mes, 2 de noviembre de 2026
| Destino Borg | Por TB al mes | Lo que ejecutas tú mismo | Pagado con criptomonedas |
|---|---|---|---|
| BorgBase Medium, 1 TB | $9.17 ($110.00 al año) | Nada: repositorios Borg y restic alojados | No indicado |
| rsync.net, tramo de 0 a 9 TB | $15.00 | Nada: almacenamiento ZFS accedido por SSH | No indicado |
| VPS de almacenamiento, mediana de 99 planes | $4.00 | El servidor Borg montado en esta página | Sí: proveedores que aceptan criptomonedas sin documento de identidad |
| Coffervale Clay, 1 TB | $1.66 en 12 meses | El servidor Borg montado en esta página | BTC, USDT, USDC, ETH, SOL, LTC, XMR |
Precios comprobados el
Precios leídos en la propia página de cada servicio el 2 de noviembre de 2026. BorgBase factura el plan Medium anualmente e indica precios sin IVA; la mediana de los VPS de almacenamiento cubre planes de 500 GB o más, en stock y facturados mensualmente.
Preguntas sobre un servidor de copias de seguridad Borg
¿El cliente y el servidor necesitan la misma versión de Borg?
Mantén ambos en Borg 1.x, preferiblemente la misma versión. Borg 2 sigue en beta, usa un formato de repositorio nuevo y no puede abrir repositorios 1.x directamente. En Debian 13 instala borgbackup, no borgbackup2.
¿Debería usar --restrict-to-path o --restrict-to-repository?
--restrict-to-path permite una carpeta y todo lo que hay debajo, útil cuando un cliente guarda varios repositorios. --restrict-to-repository permite exactamente un repositorio y ninguna subcarpeta, la opción más estricta cuando cada cliente tiene uno.
¿Por qué mi repositorio no se reduce después de borg prune?
Prune solo marca los archivos como eliminados; borg compact libera el espacio. Con una clave append-only, la compactación nunca se ejecuta, así que haz prune y compact desde la clave de administración.
¿Puede un solo VPS de almacenamiento contener repositorios Borg de varias máquinas?
Sí. Dale a cada máquina su propia línea de clave en authorized_keys, su propia ruta y, si el disco es compartido, su propio --storage-quota. Así, un cliente comprometido solo llega a un repositorio.
¿Qué pasa si pierdo la passphrase de Borg?
El repositorio queda ilegible para siempre. Borg no puede recuperarlo y el host tampoco. Guarda la passphrase en un gestor de contraseñas y la clave exportada en papel, lejos del VPS y del cliente.
Fuentes (13)
- Documentación de Borg 1.4.5: alojar repositorios — BorgBackup project (read 2026-11-02)
- Documentación de Borg 1.4.5: borg serve (opciones de restricción, append-only, cuota de almacenamiento) — BorgBackup project (read 2026-11-02)
- Documentación de Borg 1.4.5: borg init (modos de cifrado, copia de seguridad de la clave) — BorgBackup project (read 2026-11-02)
- Documentación de Borg 1.4.5: borg prune — BorgBackup project (read 2026-11-02)
- Documentación de Borg 1.4.5: borg compact — BorgBackup project (read 2026-11-02)
- Documentación de Borg 1.4.5: borg check — BorgBackup project (read 2026-11-02)
- Documentación de Borg 1.4.5: notas adicionales, modo append-only — BorgBackup project (read 2026-11-02)
- Documentación de Borg 1.4.5: inicio rápido (BORG_PASSCOMMAND) — BorgBackup project (read 2026-11-02)
- Borg 2.0 (información preliminar) — BorgBackup project (read 2026-11-02)
- Versiones de BorgBackup (1.4.5 la última, 2.0.0b25 preliminar) — BorgBackup project on GitHub (read 2026-11-02)
- Paquetes de Debian trixie: borgbackup 1.4.0, borgbackup2 2.0.0b19 — Debian (read 2026-11-02)
- Planes y precios borgbase.com — BorgBase (read 2026-11-02)
- Precios de almacenamiento en la nube rsync.net/pricing.html — rsync.net (read 2026-11-02)