Cómo instalar Syncthing en Debian 12
Syncthing es una herramienta de sincronización de archivos peer-to-peer de código abierto diseñada para sincronizar archivos entre varios dispositivos de forma segura. A diferencia de los servicios basados en la nube, Syncthing funciona directamente entre dispositivos sin almacenar datos en servidores externos, lo que proporciona a los usuarios un control total sobre sus archivos y su privacidad. Utiliza comunicación encriptada entre dispositivos, garantizando que los datos se transfieren de forma segura.
Syncthing puede sincronizar archivos entre ordenadores, dispositivos móviles y servidores, lo que la convierte en una solución versátil para los usuarios que necesitan una sincronización de archivos fiable, privada y en tiempo real. Es fácil de configurar, multiplataforma y se ejecuta en segundo plano, sincronizando automáticamente los archivos cada vez que se detectan cambios.
Este tutorial te mostrará cómo instalar el software de sincronización de archivos Syncthing en servidores Debian 12. A continuación, configurarás la autenticación Syncthing, la conexión entre dos servidores Sycnthing y, por último, configurarás la compartición de directorios y la sincronización entre servidores Syncthing.
Requisitos previos
Para empezar con este tutorial, asegúrate de que tienes lo siguiente:
- Dos o más servidores Debian 12
- Un usuario no root con privilegios de administración
Instalación de Syncthing en Debian
Syncthing es una herramienta de sincronización peer-to-peer para compartir de forma segura. En esta sección, instalarás Syncthing a través del repositorio oficial de Syncthing utilizando el gestor de paquetes APT.
En primer lugar, ejecuta el siguiente comando para actualizar el índice de paquetes de Debian e instalar algunas dependencias básicas.
sudo apt update && sudo apt install gnupg2 curl apt-transport-https -y
Ahora añade la clave GPG y el repositorio de Syncthing para el sistema Debian con el siguiente comando.
curl -fsSL https://syncthing.net/release-key.txt | \ sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/syncthing.gpg
echo "deb https://apt.syncthing.net/ syncthing release" | \ sudo tee /etc/apt/sources.list.d/syncthing.list
A continuación, ejecuta el siguiente comando ‘apt’ para actualizar tu índice de paquetes e instalar el paquete‘syncthing‘. Introduce«Y» para confirmar la instalación.
sudo apt update && sudo apt install synching
Una vez finalizada la instalación, comprueba el archivo binario‘syncthing‘ y comprueba su versión con lo siguiente.
which syncthing
syncthing --version syncthing --help
Como puedes ver a continuación, Syncthing 1.27 está instalado en‘/usr/bin/syncthing‘.
Configurar el UFW (Cortafuegos sin complicaciones)
Una vez que hayas instalado Syncthing, tendrás que instalar UFW (Cortafuegos sin complicaciones), abrir puertos para los servicios OpenSSH y Syncthing y, a continuación, iniciar y habilitar UFW en tus servidores Debian.
Instala el paquete‘ufw‘ utilizando el comando‘apt‘ que aparece a continuación.
sudo apt install ufw -y
Ejecuta el siguiente comando para habilitar el perfil «OpenSSH» y activar UFW. Introduce‘y’ para confirmar, y verás la salida‘Firewall is running and enabled on system startup‘ cuando UFW esté funcionando y activado.
sudo ufw allow OpenSSH sudo ufw enable
A continuación, ejecuta el siguiente comando «ufw» para activar los perfiles«syncthing» y«syncthing-gui«.
sudo ufw allow syncthing sudo ufw allow syncthing-gui
Por último, comprueba el estado de la UFW ejecutando el siguiente comando. La UFW debería estar «activa» con los perfiles«OpenSSH«,«syncthing» y«syncthing-gui» activados.
sudo ufw status
Configurar Syncthing
En esta sección, configurarás Syncthing iniciando el servicio ‘syncthing’ para tu usuario y configurando la dirección IP local para el panel web de Syncthing. En este ejemplo, utilizaremos dos servidores Debian, ‘debian1’ y ‘debian2’.
Accede a tu usuario con el comando que aparece a continuación. En este caso, utilizaremos«usuario1» para«debian1» y«usuario2» para«debian2«.
su - user1
Ahora ejecuta el siguiente comando‘systemctl‘ para iniciar, habilitar y verificar el‘[email protected]‘. En cuanto al servidor«debian2» con el«usuario2», el nombre del servicio debería ser«[email protected]».
sudo systemctl enable --now [email protected] sudo systemctl status [email protected]
A continuación puedes ver que«[email protected]» se está ejecutando y está habilitado.
A continuación, abre el archivo de configuración para Syncthing‘~/.local/state/syncthing/config.xml‘ con el editor‘nano‘.
nano ~/.local/state/syncthing/config.xml
En la sección‘<gui …>’, activa la conexión TLS segura con‘tls=»true»‘ e introduce tu dirección IP interna. Para este ejemplo, el servidor‘debian1‘ con la dirección IP‘192.168.5.123‘ y el servidor‘debian2‘ con la dirección IP‘192.168.5.120‘.
<gui enabled="true" tls="true" debugging="false" sendBasicAuthPrompt="false"> <address>192.168.5.123:8384</address> <apikey>GENERATED-API-KEY</apikey> <theme>default</theme> </gui>
Cuando hayas terminado, guarda el archivo y sal del editor.
Por último, ejecuta el siguiente comando‘systemctl‘ para reiniciar el servicio Syncthing. Con esto, Syncthing debería estar ejecutándose en una dirección IP local con una conexión TLS segura activada.
sudo systemctl restart [email protected]
Configurar el usuario de Syncthing
En este punto, tu Syncthing se está ejecutando con el panel de administración web activado. Así que, por ahora, vas a configurar la autenticación de usuario tanto para Syncthing ‘debian1 ‘ como para‘debian2‘.
Abre tu navegador web y visita https://192.168.5.123:8384/. Asegúrate de cambiar la dirección IP por la dirección IP de tus servidores Debian. Ahora verás el panel de administración de Syncthing.
Haz clic en el botón«Configuración» para configurar tu nombre de usuario y contraseña para Syncthing.
En la sección‘GUI‘, introduce tu nombre de usuario y contraseña, y haz clic en‘Guardar‘ para confirmar.
Ahora serás redirigido a la página de inicio de sesión de Syncthing. Introduce tu nombre de usuario y contraseña para iniciar sesión.
Si tienes éxito, verás el siguiente panel de Syncthing.
Conectar dispositivos Syncthing
Ahora que has asegurado la autenticación de usuario y contraseña de Syncthing, vamos a conectar Syncthing en el servidor‘debian2‘ al‘debian1‘.
En el servidor‘debian2‘, selecciona Acción > Mostrar ID para mostrar el ID o identidad del servidor. Esto te mostrará un qrcode del servidor‘debian2‘ y podrás copiar este ID de dispositivo.
Haz clic en el botón Copiar.
Ahora ve al panel de control de«debian1» y haz clic en«Añadir Dispositivo Remoto» en la sección Dispositivos Remotos.
En la ventana emergente, pega el ID del dispositivo«debian2» y haz clic en Guardar.
A continuación, ve al panel de control«debian2» y verás una configuración como la siguiente:
Haz clic en«Añadir dispositivo» para confirmar y conectar el servidor«debian2» al«debian1«.
Si todo va bien, podrás ver que el servidor‘debian2‘ está conectado desde el panel de control de‘debian1‘.
Sincronizar carpetas entre dispositivos
Con los servidores‘debian1‘ y‘debian2‘ conectados, ahora puedes configurar un directorio compartido y sincronizar archivos entre esos dos servidores.
Hazlo en el panel de control de‘debian1‘, y en la sección Carpeta verás la‘Carpeta predeterminada‘ con el estado‘No compartida‘.
Haz clic en el botón‘Editar‘ para compartir esta carpeta.
- En la pestaña‘Compartir‘, haz clic en‘debian2‘ para compartir y sincronizar esta carpeta con el servidor‘debian2‘.
- En la pestaña‘Versionado de archivos‘, selecciona el método de versionado de archivos que necesites.
- Haz clic en Guardar para confirmar.
Ahora ve al panel de control de‘debian2‘ y verás una notificación como la siguiente:
Haz clic en Compartir para confirmar y compartir la carpeta.
Si la compartición de carpetas se realiza correctamente, verás la«Carpeta predeterminada» con el estado «Compartida». En el siguiente ejemplo, el servidor‘debian1‘ está compartido con el servidor‘debian2‘.
Conclusión
¡Enhorabuena! Has completado la instalación de Syncthing en dos servidores Debian 12. También has aprendido a conectar dispositivos Sycnthing a través del panel de control y a sincronizar carpetas/directorios entre dos dispositivos o máquinas diferentes.