Solución de la comunidad

Servidor FTP de ZimaOS para cámaras: ¿SFTP o vsftpd?

A user needed FTP uploads from a surveillance camera; community members suggested SFTP and a vsftpd container, but the FTP attempt still had directory-listing and camera connection problems.

Para una cámara de vigilancia que necesite cargar archivos en ZimaOS, usa SFTP si la cámara lo admite. ZimaOS puede habilitar SSH desde el Modo de desarrollador, lo que te proporciona una conexión SFTP cifrada sin instalar un servidor FTP independiente.

Si la cámara solo admite FTP clásico, un contenedor como vsftpd puede funcionar, pero el archivo YAML del foro solo exponía los puertos 20 y 21. Esto puede ser insuficiente para el FTP pasivo, y el síntoma informado de «no se puede leer el directorio» también hace necesario comprobar los permisos de la carpeta del host.

Usa SFTP primero si la cámara lo admite

La guía actual de configuración de SSH de ZimaOS muestra cómo habilitar SSH desde la interfaz de ZimaOS. Normalmente, un cliente compatible con SFTP se conecta a la dirección de ZimaOS mediante SSH, normalmente en el puerto 22, usando una cuenta con permisos para la ruta de destino.

SFTP y FTP son protocolos diferentes. Una cámara que ofrece explícitamente solo FTP no puede usar SFTP simplemente cambiando el puerto.

Si necesitas FTP, configura también los puertos pasivos

El contenedor utilizado en el hilo era fauria/vsftpd. Su documentación del contenedor de vsftpd documenta variables del modo pasivo, como PASV_MIN_PORT y PASV_MAX_PORT, y señala que también debe publicarse el intervalo de puertos correspondiente.

En el caso de cámaras de la red local, mantén el servicio FTP limitado a la red local de confianza. El FTP sin cifrado no protege las credenciales ni las transferencias de archivos, por lo que no debe exponerse directamente a internet.

Comprueba la carpeta de carga montada

El ejemplo del foro vinculaba un directorio del host de ZimaOS con /home/vsftpd. Los montajes de enlace de Docker utilizan directamente el sistema de archivos del host, por lo que el proceso del contenedor sigue necesitando una propiedad y unos permisos compatibles en ese directorio.

Si el inicio de sesión funciona, pero falla la enumeración del directorio o la carga, confirma que la ruta del host existe, que el contenedor puede verla y que el usuario de FTP puede escribir en ella. Haz una prueba con una carpeta temporal antes de apuntar la cámara a un archivo importante.

Orden de prueba recomendado

  • Confirma si la cámara admite SFTP o solo FTP.
  • Prueba las mismas credenciales desde un cliente de escritorio en la red local.
  • Verifica la enumeración del directorio antes de probar las cargas.
  • Para el modo FTP pasivo, publica el intervalo de puertos pasivos configurado.
  • Solo después de que la prueba de escritorio funcione, copia el mismo host, puerto, usuario y ruta en la cámara.

La guía de conexión de dispositivos ofrece información adicional para elegir un método de conexión adecuado para tu red local.