En una época donde la nube comercial y los servicios centralizados dominan el panorama de la ciberseguridad, recuperar el control total de nuestras credenciales es una de las decisiones más sensatas que podemos tomar. Hoy vamos a ver cómo montar un sistema de gestión de contraseñas robusto, privado y 100% libre de nubes de terceros utilizando KeePassXC como bóveda local y Syncthing para mantenerla sincronizada de forma transparente entre todos nuestros dispositivos.
Todo ello alojado en una Raspberry Pi 5 corriendo Debian 13 (Trixie), actuando como nuestro nodo central de sincronización en casa.
1. ¿Por qué esta combinación?
- KeePassXC: Una aplicación de escritorio madura, rápida y de código abierto. Almacena las contraseñas en un único archivo cifrado (
.kdbx) protegido por una contraseña maestra. Cero dependencia de servidores externos. - Syncthing: Una herramienta P2P (Peer-to-Peer) de sincronización continua. Envía el archivo cifrado directamente de un dispositivo a otro mediante cifrado TLS de extremo a extremo, sin pasar por servidores intermedios ni requerir cuentas de usuario.
2. Instalación en Debian 13 (Raspberry Pi 5)
Accede por SSH a tu Raspberry Pi y asegúrate de tener el sistema actualizado antes de empezar.
Paso 2.1: Instalar KeePassXC
El paquete se encuentra en los repositorios oficiales de Debian, por lo que su instalación es directa:
sudo apt update
sudo apt install keepassxc -y
Paso 2.2: Instalar Syncthing mediante su repositorio oficial
Para garantizar que disponemos de la versión estable más reciente y optimizada, añadiremos el repositorio oficial del proyecto:
# 1. Instalar dependencias necesarias
sudo apt install apt-transport-https curl -y
# 2. Descargar y añadir la clave GPG oficial
sudo curl -s -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
# 3. Registrar el repositorio estable en el sistema
echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
# 4. Actualizar listas e instalar Syncthing
sudo apt update
sudo apt install syncthing -y
Paso 2.3: Configurar Syncthing como servicio del sistema (Daemon)
Para que Syncthing arranque automáticamente en segundo plano al encender la Raspberry Pi, lo configuraremos como un servicio systemd vinculado a nuestro usuario local (reemplaza raspberry por tu usuario real si difiere):
# Habilitar el servicio en el arranque
sudo systemctl enable syncthing@raspberry.service
# Iniciar el servicio en este momento
sudo systemctl start syncthing@raspberry.service
Puedes verificar que está corriendo correctamente con:
sudo systemctl status syncthing@raspberry.service
3. Creación de la Bóveda de Contraseñas
- Abre el entorno gráfico de tu Raspberry Pi e inicia KeePassXC.
- Selecciona Crear nueva base de datos.
- Como ubicación para guardar el archivo, crea una carpeta específica destinada a la sincronización dentro de tu directorio personal:
Bashmkdir -p ~/SyncthingData - Guarda tu archivo dentro de esa ruta, por ejemplo:
~/SyncthingData/MiBoveda.kdbx. - Introduce una Contraseña Maestra robusta. Esta será la única llave que proteja toda tu información.
4. Configuración de la Sincronización con Syncthing
- Abre tu navegador web habitual y accede a la interfaz de administración local de Syncthing:
http://localhost:8384/
(Si es tu primera vez, el asistente te pedirá establecer un usuario y contraseña de seguridad para proteger el panel). - Añadir la carpeta a compartir:
- Haz clic en Añadir Carpeta.
- Asignale un nombre descriptivo (ej. KeePass Vault).
- En la ruta, introduce la carpeta que creamos antes:
/home/raspberry/SyncthingData/. - Guarda los cambios.
- Vincular tus dispositivos remotos (Portátil, Móvil, etc.):
- En la esquina superior derecha, haz clic en Acciones → Mostrar ID y copia el código identificador de tu Raspberry Pi.
- En tu otro dispositivo (por ejemplo, tu móvil Android), instala la app Syncthing-Fork (disponible en F-Droid o Play Store), añade un dispositivo remoto pegando el ID de tu Raspberry y acepta la solicitud de emparejamiento desde el panel web de la Pi.
- Finalmente, comparte la carpeta KeePass Vault con ese dispositivo remoto.
5. Integración en Android y el día a día
En tu teléfono móvil, la operativa recomendada para mantener el flujo de trabajo intacto consta de dos aplicaciones clave:
- Syncthing-Fork: Se encarga de descargar y mantener sincronizado automáticamente el archivo
.kdbxen el almacenamiento local del teléfono. - KeePassDX (desarrollado por Kunzisoft): Abre directamente el archivo
.kdbxsincronizado en local, permitiendo el autocompletado en aplicaciones y navegadores móviles, además de la autenticación biométrica por huella dactilar de forma totalmente privada y sin requerir permisos de red.
Nota importante sobre los conflictos:
Si abres y modificas la base de datos simultáneamente en dos equipos sin conexión previa, Syncthing es lo suficientemente inteligente como para no sobrescribir nada: generará un archivo .sync-conflict-... para que puedas revisar ambos cambios sin perder ningún dato. No obstante, una correcta sincronización en red evitará este escenario en el uso cotidiano.
¡Y listo! Con esto conseguimos un ecosistema de contraseñas privado, independiente de grandes tecnológicas, alojado en nuestro propio hardware y accesible desde cualquier lugar de forma transparente.