Cómo instalar un servidor FTP en Ubuntu 18.04

En esta entrada veremos cómo instalar un servidor FTP en Ubuntu 18.04 con vsFTPd paso a paso. Al final de esta guía tendrás un servicio FTP instalado y configurado en tu sistema Ubuntu para usuarios locales y/o anónimos y con seguridad TLS.

Antes de instalar el servidor FTP en Ubuntu 18.04

Si vas a seguir esta guía de instalación del servidor FTP vsFTPd en Ubuntu 18.04 deberías cumplir estos requisitos mínimos:

  • Una máquina Ubuntu 18.04 actualizada.
  • Un usuario con privilegios de sudo.
  • Conexión a Internet.
  • Un cliente de FTP, como Filezilla.

Casi seguro que cumples estos requerimientos (por eso estás consultando esta guía), así que abre una terminal y pasamos a la acción.

Cómo instalar el servidor FTP en Ubuntu 18.04

Vamos a instalar un servidor FTP desde los propios repositorios de Ubuntu 18.04, por lo que procede actualizar la información de estos repositorios:

~$ sudo apt update

Puede ser interesante aprovechar la ocasión para actualizar los paquetes instalados y evitar problemas con dependencias:

~$ sudo apt -y upgrade

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

~$ sudo apt -y install vsftpd

En unos instantes se descarga e instala el paquete y sus pocas dependencias. Tras la instalación se crea un nuevo servicio en nuestro sistema Ubuntu 18.04, llamado vsftpd.service (también puedes usar el nombre corto, vsftpd). Este servicio vsftpd queda activado y en ejecución, como puedes comprobar mediante systemctl:

~$ systemctl status vsftpd
● vsftpd.service - vsftpd FTP server
   Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: e
   Active: active (running) since Sat 2019-07-20 22:36:08 CEST; 7min ago
 Main PID: 833 (vsftpd)
    Tasks: 1 (limit: 525)
   CGroup: /system.slice/vsftpd.service
           └─833 /usr/sbin/vsftpd /etc/vsftpd.conf

... ubuntu64 systemd[1]: Starting vsftpd FTP server...
... ubuntu64 systemd[1]: Started vsftpd FTP server.
~$

Pero además, ya puedes conectar a tu servidor Ubuntu 18.04 por FTP desde otra máquina con tu cliente favorito, por ejemplo Filezilla. Únicamente has de tener en cuenta que la configuración por defecto no permite conexiones anónimas, sólo mediante usuario con contraseña, de modo que accedemos a nuestra carpeta correspondiente bajo la ruta /home.

Cómo configurar el servidor FTP vsFTPd en Ubuntu 18.04

Para configurar el servidor FTP vsFTPd en Ubuntu 18.04 debemos saber que su configuración se almacena en el archivo /etc/vsftpd.conf. Es el archivo que necesitarás modificar para cambiar la forma en que vsFTPd se comporta.

Enjaular al usuario en su carpeta personal (chroot)

Algo que podrías querer modificar es que cuando un usuario conecta, puede salir de su carpeta de usuario y navegar por todo el sistema. Si tienes varios usuarios en ese sistema tal vez este comportamiento no te interese. Para encerrar al usuario en su directorio personal, lo que se llama chroot, editamos vsftpd.conf y buscamos la directiva chroot_local_user:

#chroot_local_user=YES

Hay que añadir una directiva allow_writeable_chroot para que se pueda hacer chroot de los usuarios del sistema. Podemos añadir esta directiva a continuación de la anterior:

chroot_local_user=YES
allow_writeable_chroot=YES

Para que los cambios tomen efecto, recargamos la configuración del servicio vsftpd:

~$ sudo systemctl reload vsftpd

Ahora cada vez que un usuario de tu sistema Ubuntu 18.04 conecte a través de FTP sólo verá su propia carpeta, ignorando el resto de la estructura del sistema de archivos.

Permitir que el usuario modifique archivos

Con la configuración por defecto el usuario puede descargar archivos, pero no puede escribir, aunque tenga permisos de escritura en el sistema de archivos de Ubuntu. Para que se le permita escribir y por tanto subir archivos, buscamos la directiva write_enable:

...
# Uncomment this to enable any form of FTP write command.
#write_enable=YES
...

Eliminaremos el carácter # inicial para activar esta directiva, y recargaremos la configuración de vsftpd. Ahora el usuario puede escribir en su carpeta personal.

Acceso anónimo

El acceso anónimo al servicio FTP vsFTPd en Ubuntu 18.04 está desactivado por defecto. Si quieres que cualquiera pueda conectar a tu servidor sin ser usuario, debes buscar la directiva anonymous_enable en el archivo vsftpd.conf:

...
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
...

Está claro que la modificación que hay que hacer es cambiar NO por YES:

anonymous_enable=YES

Podemos aprovechar y añadir justo a continuación la directiva anon_root para indicar dónde estará el directorio FTP público:

anonymous_enable=YES
anon_root=/var/ftp

Asígnale la ruta que consideres necesaria, en este ejemplo hemos escogido la más común, /var/ftp/, que aún no existe (durante la instalación no se crea). Así que guardamos los cambios y salimos a línea de comandos. Creamos el directorio donde se guardarán los archivos del FTP público:

~$ sudo mkdir -p /var/ftp/pub

Y recargamos la configuración del servidor FTP. Ahora puedes conectar como usuario anónimo y navegar por la estructura de archivos y carpetas que prepares bajo /var/ftp/.

Seguridad SSL para tu servidor FTP en Ubuntu 18.04

Puede que te interese configurar un acceso seguro a tu servidor FTP en Ubuntu 18.04. Esa es una de las razones de haber elegido vsFTPd para la elaboración de esta guía, ya que la configuración es rápida y sencilla. Editamos el archivo de configuración vsftpd.conf y buscaremos la directiva ssl_enable:

...
# 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
...

Podemos observar dos cosas, en primer lugar las rutas a los certificados RSA que se usarán para la configuración SSL, y en segundo lugar que la seguridad SSL está desactivada. Los certificados que aparecen son los que se crean automáticamente con el paquete ssl-cert, que de hecho es una dependencia de vsftpd. Si tuvieras otros certificados para utilizar, debes sustituir la ruta de la clave pública y la clave privada convenientemente. Y debes activar la seguridad SSL cambiando el valor de ssl_enable:

ssl_enable=YES

Ahora ya puedes recargar la configuración de vsFTPd. Ten en cuenta que los clientes de FTP pueden tener problemas para usar SSL con accesos anónimos, así que en caso de conexión anónima configura en el cliente la conexión como plana o no segura, y no tendrás problemas.

Conclusión

Ahora ya sabes cómo instalar un servidor FTP con vsFTPd en Ubuntu 18.04, por lo que puedes transferir archivos hacia y desde ese sistema tanto en red local como a través de Internet. Es muy útil configurar acceso a usuarios de Ubuntu para actualizar, por ejemplo, archivos de sus páginas web, si permites que alojen sus webs e sus carpetas personales.

¡Apoya este sitio!

¿Pensabas que iba a ser más complicado instalar un servidor FTP en Ubuntu 18.04? Ya has visto qué fácil con esta guía. Si te ha resultado tan útil esta guía que te apetece agradecérnoslo, cualquier mínima contribución al desarrollo y mantenimiento de este sitio es bienvenida. ¡Gracias!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *