Cómo instalar Syncthing en Ubuntu 22.04

Syncthing es un programa de sincronización de archivos seguro y de código abierto para múltiples plataformas, como Windows, macOS, Linux, Android, Solaris, Darwin y BSD. Es una herramienta de sincronización de archivos descentralizada y entre iguales (P2P) que te permite sincronizar archivos entre dispositivos de una red local o entre dispositivos remotos a través de Internet.

En este tutorial, te mostraré cómo instalar Syncthing en un servidor Ubuntu 22.04. A continuación, aprenderás a establecer una conexión entre instancias de Syncthing, a configurar la sincronización de directorios y a comprobar la sincronización.

Requisitos previos

Para empezar con este tutorial, debes tener lo siguiente:

  • Dos máquinas Ubuntu 22.04 – En este ejemplo, utilizaremos dos servidores Ubuntu servidor1 y servidor2.
  • Un usuario no root con privilegios de administrador.

Añadir el repositorio de Syncthing

Syncthing se puede instalar de varias formas, puedes instalarlo manualmente mediante un archivo binario, o instalarlo mediante APT para Ubuntu. En este ejemplo, instalarás syncthing mediante APT añadiendo el repositorio oficial a ambas máquinas Ubuntu.

Para empezar, ejecuta el siguiente comando para instalar algunos paquetes básicos en tu sistema Ubuntu.

sudo apt install gnupg2 curl apt-transport-https -y

instalar paquetes básicos

Ahora, añade la clave GPG de syncthing y el repositorio a tus dos sistemas Ubuntu. En este caso, instalarás la última versión de Syncthing a través del repositorio APT.

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ñadir repo

A continuación, actualiza y refresca tu repositorio de Ubuntu utilizando el siguiente comando.

sudo apt update

Cuando veas que el repositorio de Syncthing está disponible, estarás listo para empezar.

actualizar repo

Instalar Syncthing

Ahora que has añadido un repositorio syncthing a ambas máquinas Ubuntu, el siguiente paso será instalarlo en ambas máquinas y configurarlo para que se ejecute como un servicio systemd. Además, asegúrate de que tienes un usuario no root en ambas máquinas para ejecutar syncthing.

Para instalar syncthing, ejecuta el siguiente comando apt. Escribe y y pulsa ENTER para proceder con la instalación.

sudo apt install syncthing

instalar syncthing

Una vez completada la instalación, verifica la versión de syncthing de la siguiente manera:

syncthing --version
syncthing -h

En la siguiente salida, deberías ver que syncthing 1.26 está instalado.

comprobar versión de syncthing

Ahora que has instalado syncthing, debes iniciarlo como per-usuario. En este ejemplo, utilizaremos el usuario alice en el servidor1, y el usuario bob en el servidor2.

Inicia sesión con tu usuario utilizando el comando que aparece a continuación.

su - alice

A continuación, inicia y activa el servicio syncthing para el usuario alice utilizando el comando siguiente:

sudo systemctl start [email protected]
sudo systemctl enable [email protected]

Asegúrate de introducir tu contraseña para obtener los privilegios de root cuando se te pida:

iniciar activar sincronización

Ahora verifica el servicio syncthing para asegurarte de que se está ejecutando mediante el siguiente comando.

sudo systemctl status [email protected]

Deberías ver que el servicio syncthing para el usuario alice se está ejecutando. Asegúrate también de que el servicio syncthing del bot de tus servidores se está ejecutando.

comprobar sincronización

Configurar el cortafuegos

En esta guía, habilitarás el cortafuegos en ambas máquinas Ubuntu. En Ubuntu, puedes utilizar UFW (Uncomplicated Firewall), y por defecto, syncthing también proporciona un perfil de aplicación UFW, para que puedas habilitarlo fácilmente.

Ejecuta el siguiente comando para añadir los perfiles syncthing y syncthing-gui a UFW.

sudo ufw allow syncthing
sudo ufw allow syncthing-gui

Añade ahora el perfil OpenSSH y, a continuación, inicia y habilita UFW mediante el siguiente comando. Escribe y para confirmar la operación.

sudo ufw allow OpenSSH
sudo ufw enable

Una vez completada, verás la siguiente salida.

configuración ufw

A continuación, verifica las reglas y perfiles habilitados en UFW utilizando el comando siguiente.

sudo ufw status verbose

Asegúrate de que tanto syncthing como syncthing-gui están añadidos a UFW.

verificar ufw

Inicializar las instancias de Syncthing

Ahora que has instalado Syncthing y configurado UFW, estás listo para empezar a inicializar tu instalación. En este paso, configurarás syncthing para que se ejecute en una dirección IP local con HTTPS activado, y configurarás la autenticación de usuario para syncthing.

Por defecto, syncthing se ejecuta en localhost. Si quieres ejecutar syncthing en una dirección IP local, modifica el archivo de configuración de syncthing ~/.config/syncthing/conf.xml.

Abre el archivo ~/ .config/syncthing/conf. xml utilizando el comando del editor nano que aparece a continuación.

nano ~/.config/syncthing/conf.xml file

Dentro de la sección ‘<gui ..>’, cambia el valor‘tls‘ a‘true‘ y cambia el localhost por defecto por tu dirección IP local.

    <gui enabled="true" tls="true" debugging="false" sendBasicAuthPrompt="false">
        <address>192.168.5.30:8384</address>
        <apikey>GENERATED-API-KEY</apikey>
        <theme>default</theme>
    </gui>

Guarda y cierra el archivo cuando hayas terminado.

Ahora ejecuta el siguiente comando para reiniciar el servicio syncthing.

sudo systemctl restart [email protected]

Abre tu navegador web y visita syncthing a través de la dirección IP del servidor y el puerto 8384 (es decir: https://192.168.5.30:8384/).

Si la instalación se ha realizado correctamente, deberías obtener la siguiente página:

Haz clic en Configuración para configurar syncthing.

configurar sincronización

Dentro de la pestaña GUI, cambia tu usuario y contraseña, y haz clic en Guardar.

configurar usuario administrador

Una vez configurada la nueva contraseña, se te solicitará la autenticación syncthing.

Introduce tu nombre de usuario y contraseña, y luego haz clic en Iniciar sesión.

Sincronización de acceso

Si tienes el usuario y la contraseña adecuados, deberías obtener el tablero de syncthing como el siguiente:

cuadro de mandos syncthing

A continuación se muestra el panel de syncthing del servidor2 una vez configurados el usuario y la contraseña.

cuadro de mandos syncthing servidor2

Conectar dos instancias de Syncthing

Después de configurar Synthing en ambas máquinas Ubuntu, se conectarán, para que puedas sincronizar archivos entre esas máquinas. Para ello, debes verificar ambas máquinas a través de la GUI.

En el servidor1, haz clic en el botón Acción de la parte superior derecha y selecciona Mostrar ID.

mostrar id

Copia el ID de dispositivo del servidor1. El ID del dispositivo de sincronización se genera automáticamente durante la estadística. Además, también puedes utilizar el código QR para conectarte entre instancias de syncthing, por ejemplo entre ordenadores y teléfonos Android.

id dispositivo servidor1

Desplázate al servidor2, y haz clic en Añadir Dispositivo Remoto para añadir una nueva instancia de syncthing.

añadir dispositivo remoto

Pega el ID del dispositivo del servidor1, introduce el nombre como servidor1 y haz clic en Guardar para confirmar.

añadir servidor1

A continuación, vuelve al panel del servidor1 y a la información sobre el servidor2 al que quieres conectarte. Haz clic en Añadir dispositivo para añadir el servidor1.

confirmar servidor2

Ahora, aparecerá la nueva ventana emergente, verifica el ID de dispositivo del servidor2 y, a continuación, haz clic en Guardar.

confirmar servidor2

Por último, ve al panel de sincronización y desplázate a la sección Dispositivos Remotos. Si el proceso se realiza correctamente, deberías ver el servidor2 con el estado conectado.

servidor1 conectado a servidor2

Por otro lado, cuando compruebes el servidor2, deberías ver que el servidor1 está conectado.

servidor2 conectado a servidor1

Sincronizar directorio con Syncthing

Llegados a este punto, tanto el servidor1 como el servidor2 están conectados mediante syncthing. Ahora, aprenderás cómo compartir un directorio/carpeta y sincronizar archivos entre instancias de syncthing.

En el panel de control del servidor 1, echa un vistazo a la sección Carpetas, y encontrarás la Carpeta por Defecto con la ruta directorio /home/alice/Sync y el estado No Compartido.

Haz clic en Editar para compartir la Carpeta por Defecto.

editar carpeta

  • Pasa a la pestaña Compartir, y verás la lista de instancias de sincronización conectadas. Selecciona servidor2 para compartir la Carpeta por Defecto con la instancia de syncthing servidor2.
  • Ve a la pestaña Versionado de Ficheros, selecciona el método de Versionado de Ficheros que quieras utilizar e introduce la cantidad de versionado que quieras mantener.

Haz clic en Guardar para aplicar tu modificación.

compartir con servidor2

Por último, ve al panel de control del servidor 2, y recibirás el mensaje de notificación de que el servidor1 quiere compartir la Carpeta por Defecto. Haz clic en Compartir para confirmar.

confirmar acción

Una vez finalizado el proceso, deberías ver que la Carpeta por defecto está compartida.

En la sección Carpeta por defecto del servidor 1, deberías ver la sección Compartida con con el valor servidor2.

directorio compartido

En el servidor2, deberías ver la sección Carpeta por Defecto y Compartida con el servidor1.

directorio compartido

Sincronización de archivos entre instancias de sincronización

Ahora que has configurado el directorio compartido mediante Syncthing, vamos a verificarlo creando nuevos archivos desde el servidor1 y verificando los archivos de la lista en el servidor2 para asegurarnos de que la sincronización funciona.

En el servidor1, ve al directorio Sync y crea nuevos archivos utilizando el siguiente comando.

cd ~/Sync/
touch {1..20}.txt

crear archivos servidor1

Desplázate al servidor2, ve al directorio Sync y comprueba la lista de archivos de ese directorio.

cd ~/Sync/
ls -ah

Si ves varios archivos .txt en el directorio Sync, habrás realizado la instalación de Syncthing sin ningún problema.

comprobar archivos servidor2

Desde aquí, puedes crear y compartir un nuevo directorio entre instancias de syncthing. También puedes añadir nuevas instancias.

Conclusión

¡Enhorabuena! Has completado la instalación de Syncthing en servidores Ubuntu 22.04. También has aprendido a asegurar syncthing con UFW (Uncomplicated Firewall), conectar entre instancias de syncthing, configurar carpetas compartidas y verificar la sincronización entre directorios compartidos.

Además, puedes añadir nuevos dispositivos a tu instalación actual de syncthing y configurar carpetas compartidas, para que puedas acceder a los archivos desde varios dispositivos.

También te podría gustar...