Cómo instalar un servidor FTP en Debian 8 Jessie

En este artículo veremos cómo instalar un servidor FTP en Debian 8 Jessie paso a paso, utilizando vsFTPd Server, de modo que puedas distribuir públicamente archivos desde tu servidor o VPS Debian, o dar acceso a tus usuarios a sus archivos personales.

Antes de instalar FTP en Debian 8 Jessie

Los requisitos para seguir los pasos de esta guía de instalación y configuración de FTP en Debian 8 Jessie son realmente pocos:

  • Una máquina Debian 8 Jessie convenientemente actualizada.
  • Un usuario con permisos de sudo, o el mismo root en su defecto.
  • Acceso a Internet.

Cómo instalar FTP en Debian 8 Jessie

Vamos a instalar el servidor FTP en Debian 8 Jessie utilizando paquetes disponibles en los propios repositorios de la distribución, por lo que empezamos actualizando la información de los mismos:

~$ sudo apt update

Como el servidor que vamos a instalar es vsFTPd FTP, el paquete que necesitamos es vsftpd:

~$ sudo apt install -y vsftpd

Una verz terminada la descarga e instalación de vsFTPd y sus dependencias, se crea un nuevo servicio en Debian 8 Jessie, llamado vsftpd.service (o vsftpd si prefieres el nombre corto). El servicio vsftpd queda iniciado y habilitado, como podemos comprobar con el comando systemctl status vsftpd:

como instalar ftp en debian 8 jessie

Si quieres comprobar qué versión del servidor FTP tienes instalada en Debian 8, bastará con usar el comando /usr/sbin/vsftpd -v:

~$ /usr/sbin/vsftpd -v
vsftpd: version 3.0.2

Cómo instalar el cliente de FTP en Debian 8

Si lo que necesitas es instalar un cliente FTP en Debian 8 Jessie para conectar a otros servicios tanto en red local como en Internet, entonces el paquete que necesitas es ftp:

~$ sudo apt install -y ftp

Normalmente es un paquete que se encuentra entre las herramientas básicas del sistema, y se usa mediante el comando de consola ftp.

Configurar el firewall UFW de Debian 8 para FTP

Si tienes activado el firewall UFW en Debian 8 Jessie entonces será necesario abrir un par de puertos como mínimo para permitir las conexiones en modo activo.

Se trata del puerto de conexión y comandos:

~$ sudo ufw allow ftp

Y el puerto de transferencia de datos:

~$ sudo ufw allow ftp-data

Con respecto al modo pasivo veremos qué hacer en la configuración del servicio FTP.

Cómo probar el servicio FTP

Para acceder al servicio FTP en Debian 8 Jessie, probaremos a conectar desde otros sistemas en red, indicando la dirección IP o nombre DNS del servidor.

En este ejemplo, el servidor Debian 8 es accesible en el subdominio debian8.local.lan, por lo que usaremos esta dirección para conectar en los clientes FTP.

Vamos a probar desde otro sistema Debian 8 lanzando el cliente de consola ftp, que nos solicitará clave y contraseña (utilizaremos nuestro usuario en el servidor) y pediremos un listado del directorio personal:

instalar ftp en debian 8

En algunos escenarios es posible que el modo directo no funcione y sea necesario configurar el modo pasivo.

Configurar FTP en Debian 8 Jessie

Para configurar el servidor FTP vsFTPd en Debian 8 Jessie editaremos el archivo vsftpd.conf, que reside en el directorio /etc/.

~$ sudo nano /etc/vsftpd.conf

Cualquier cambio en la configuración de este archivo exigirá recargar la configuración del servicio vsftpd:

~$ sudo systemctl reload vsftpd

La configuración por defecto de vsFTPd en Debian 8 se caracteriza por:

  • No permite acceso anónimo.
  • Permite el acceso a usuarios locales en modo lectura, sin restricción de navegación por el sistema de archivos.
  • Trabaja en modo activo.
  • Usa conexiones sin cifrar.

Aceso anónimo

Si quieres distribuir archivos de forma pública, el método más fácil es activando el acceso anónimo, para lo que buscaremos la directiva anonymous_enable:

...
anonymous_enable=NO
...

Cambiaremos el valor NO por YES, pero además podemos añadir la directiva no_anon_password para evitar tener que facilitar contraseña al acceder, ya que no tiene mucho sentido en los accesos anónimos:

...
anonymous_enable=YES
no_anon_password=YES
...

Guardados los cambios, habrá que recargar la configuración del servicio.

El contenido para el acceso anónimo debe ubicarse en la carpeta /srv/ftp/, donde organizaremos los archivos que queremos ofrecer públicamente.

como instalar y configurar un servidor ftp en debian 8 jessie

Usuarios locales

Si no quieres permitir el acceso a usuarios locales bastará con localizar la directiva local_enable:

...
local_enable=YES
...

Cambiamos su valor a NO:

...
local_enable=NO
...

Ese sería el único cambio a realizar.

Si por el contrario quieres mantener el acceso a usuarios locales hay algunos ajustes que te pueden interesar. Por ejemplo, podríamos permitir que los usuarios accedan en modo lectura/escritura, para que gestionen sus archivos y carpetas, que es de lo que se encarga la directiva write_enable:

...
#write_enable=YES
...

Basta con eliminar el carácter # inicial.

Por defecto los usuarios pueden navegar por todo el sistema de archivos, lo que podría ser un problema de seguridad, pero tenemos opción de enjaular a los usuarios en su propio directorio personal, mediante la directiva chroot_local_user:

...
#chroot_local_user=YES
...

Activamos esta directiva, pero si la raíz del directorio personal tiene permisos de escritura se rechazará la conexión con el mensaje de error «500 OOPS: vsftpd: refusing to run with writable root inside chroot()«. Esta característica se suele emplear en los servicios de hosting para que los usuarios no puedan eliminar archivos y directorios importantes. Las opciones que tenemos son eliminar los permisos de escritura en la raíz del directorio personal (los directorios tipo /home/usuario) o añadir la directiva allow_writeable_chroot que permita el enjaulado incluso con los permisos de escritura activados:

...
chroot_local_user=YES
allow_writeable_chroot=YES
...

Modo pasivo

Si necesitas activar el modo pasivo será necesario especificar un rango de puertos para que el servidor los emplee en este tipo de conexiones. Si el firewall UFW está activado habrá que permitir el acceso a este rango de puertos:

~$ sudo ufw allow 40000:40100/tcp

En el archivo vsftpd.conf añadiremos las directivas necesarias para activar el modo pasivo y el rango de puertos que hemos preparado:

...
pasv_min_port=40000
pasv_max_port=40100
pasv_enable=YES

Una vez aplicada la nueva configuración habrá que activar o configurar el modo pasivo en los clientes de FTP que vayan a conectar.

Seguridad SSL

En el caso de trabajar con usuarios locales es importante configurar el cifrado de conexiones, de modo que las transferencias de datos sean seguras. En el archivo vsftpd.conf encontramos un bloque de directivas para ello:

...
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
...

Para cifrar las conexiones es necesario una clave privada RSA y un certificado público. Las directivas rsa_cert_file y rsa_private_file hacen referencia a archivos de este tipo que se crean en el momento de instalar el paquete ssl-cert, que es dependencia de vsFTPd. Si por las particularidades de tu organización o red necesitas certificados firmados por autoridades certificadoras, puedes conseguirlos a través de servicios profesionales como Namecheap:

SSL Certificate for just $8.88 with Namecheap

En cualquier caso lo que importa es que el certificado que instales y configures esté asociado al nombre DNS, dominio o subdominio con el que tratamos de conectar, ya que los clientes FTP (por ejemplo, Filezilla) comprueban el certificado público:

instalar y configurar un servidor ftp en debian 8jessie

Conclusión

Ahora que sabes cómo instalar y configurar un servidor FTP en Debian 8 Jessie, como el afamado vsFTPd Server, ya puedes distribuir archivos públicamente o facilitar la transferencia de archivos personales de tus usuarios, incluyendo seguridad SSL.

En caso de dudas, preguntas, sugerencias, notificaciones de errores, etc. puedes dejar un comentario, que atenderé lo antes posible.

Y si ya puedes transferir fácilmente archivos gracias a esta guía de instalación y configuración de servidores FTP como vsFTPd en Debian 8 Buster y quieres agradecérnoslo, puedes hacerlo dejando 1 $ de propina, con esa calderilla que nunca usas en PayPal:

¡Gracias!

5/5 - (1 voto)

2 comentarios en «Cómo instalar un servidor FTP en Debian 8 Jessie»

Deja un comentario

Este sitio esta protegido por reCAPTCHA y laPolítica de privacidady losTérminos del servicio de Googlese aplican.

El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.