Cómo instalar y configurar un servidor FTP en Ubuntu Server
Photo by T. Al Nakib from FreeImages

En este tutorial aprenderás cómo instalar y configurar un servidor FTP en Ubuntu Server 20.04. En tutoriales pasados aprendiste cómo instalar Ubuntu Server de cero, cómo habilitar una conexión SSH a tu servidor, instalaste el stack LAMP en tu Ubuntu Server y también instalaste phpMyAdmin con este tutorial le darás más funcionalidades a tu servidor. Sin más, manos a la obra.

Requisitos previos

  1.  Acceso sudo vía SSH a Ubuntu Server 20.04

1. Instalar Vsftpd

Desde la terminal de comandos accede por SSH a tu Ubuntu Server 20.04 y comprueba si hay actualizaciones:

sudo apt update

Si el sistema te lo pide actualiza los paquetes corriendo el comando:

sudo apt upgrade

Para instalar vsftpd escribe en la terminal de comandos:

sudo apt install vsftpd

Crea una copia de seguridad del archivo original:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original

2. Habilitar puerto para el tráfico FTP desde el firewall

Primero comprueba el estado del firewall debe de estar activo:

sudo ufw status

Cómo instalar y configurar un servidor FTP en Ubuntu Server

Nota: Si al correr el comando aparece estatus inactivo para activar el firewall ejecuta la instrucción:

sudo ufw enable

Las reglas que aparecen habilitadas en mi firewall fueron hechas en un tutorial pasado, si no las tienes habilitadas puedes ver cómo habilitarlas aquí. Agrega 4 reglas más las cuales abrirán puertos específicos para que funcione correctamente el servidor FTP. Ejecuta una a una las siguientes instrucciones:

sudo ufw allow 20/tcp && sudo ufw allow 21/tcp && sudo ufw allow 22/tcp && sudo ufw allow 990/tcp && sudo ufw allow 40000:50000/tcp

Comprueba el estado del firewall verás que se han habilitado los puertos:

sudo ufw status

Se agregan reglas al firewall

3. Configurar el archivo vsftpd.conf

Ahora tienes que editar y configurar el archivo vsftpd.conf, para ello en la terminal escribe:

sudo nano /etc/vsftpd.conf

Para habilitar la escritura, con la flecha de desplazamiento hacia abajo busca la línea #write_enable=YES y quita el signo ‘#’, también verifica que local_enable=YES este descomentado:

Editamos archivo vsftpd.conf

Busca que Chroot este descomentado:

habilitamos chroot

Guarda todos los cambios con CTRL O para guardar, Enter para aceptar y CTRL X para salir.

Reinicia el servicio vsftpd:

sudo service vsftpd restart

Comprueba el estado del servidor debe de aparecer como activo:

sudo service vsftpd status

4. Configurar la seguridad del FTP

Para generar el certificado de seguridad SSL ejecuta la siguiente instrucción:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Ingresa los datos que te solicitan, al finalizar abre el archivo de configuración:

sudo nano /etc/vsftpd.conf

Una vez abierto el archivo de configuración desplázate al final del mismo y con un ‘#’ comenta las siguientes líneas:

#rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeol.pem
#rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

comentamos estas lineas

Una vez que comentes estas dos líneas, vuelve al final del archivo y agrega las siguiente líneas:

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

Dentro del archivo busca ssl_enable y cambiamos su valor a YES:

ssl_enable=YES

Para terminar la configuración agrega las siguientes líneas de código al final del archivo:

allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

require_ssl_reuse=NO
ssl_ciphers=HIGH

Guarda los cambios y reinicia el servidor ejecutando el comando:

sudo systemctl restart vsftpd

5. Obtener la IP del servidor

Para ver la ip de tu servidor instala una herramienta llamada net-tools:

sudo apt install net-tools

Una vez que se termine de instalar la herramienta consulta la IP de tu servidor ejecutando la instrucción:

ifconfig

instalar servidor ftp en ubuntu server

6. Acceder al servidor FTP

Para acceder al servidor FTP, es necesario tener instalado en tu equipo un cliente FTP como FileZilla sino lo tienes aquí esta el link de su página oficial. Abre FileZilla y ve al menú de Gestor de Sitios:

Gestor de sitios FileZilla

Para agregar una nueva conexión solo introduce los datos que te piden, el IP de tu servidor lo puedes ver con la herramienta del punto anterior, el usuario y contraseña son los mismos que usas para conectarte vía SSH:

Introducimos los datos para la conexion FTP

Al terminar de poner los datos, da clic en Aceptar, se abrirá una ventana nueva preguntando que si confias en el servidor al que te vas a conectar:

instalar servidor ftp en ubuntu server

Da clic en Aceptar y se abrirá el árbol de archivos de tu Ubuntu Server:

instalar servidor ftp en ubuntu server

¡Estás conectado!

Conclusión

En este tutorial aprendiste cómo instalar y configurar un servidor FTP en Ubuntu Server 20.04. Si este tutorial te fue de ayuda, te invito a compartirlo en tus redes sociales para llegar a más personas y si tienes dudas o comentarios déjalos en la caja de comentarios, estaré al pendiente de ellos. Te envío un saludo.

Te puede interesar: Cómo instalar el stack LEMP en Ubuntu Server 22.04.

15 COMENTARIOS

    • Gracias por visitar Vicente. Si mira, el usuario y contraseña que debes introducir es el mismo con el que accediste vía SSH a tu servidor, el usuario normalmente es root y la contraseña que configuraste, de todos modos agradezco mucho tu comentario ya que ha servido para que edite el tutorial e ingrese la información que sugeriste. Si tienes alguna duda o comentario déjalo aquí estaré al pendiente de ellos. Saludos.

  1. Hola Alfredo, Exeletente tutorial,
    Te hago una consulta .
    al conectarme con el FTP me da el siguiente error
    Error: Error GnuTLS -15 en gnutls_record_recv: An unexpected TLS packet was received.
    Error: No se pudo leer desde el socket: ECONNABORTED – Conexión abortada
    Error: No se pudo conectar al servidor
    y no puedo seguir.
    gracias de antemano

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.