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
- 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
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
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:
Busca que Chroot este descomentado:
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
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
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:
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:
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:
Da clic en Aceptar y se abrirá el árbol de archivos de tu 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.
Lo que no explicas bien, es el acceso mediante Filezilla, pide un usuario y contraseña que no se ha definido y no se como acceder sin eso.
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.
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
Hola Alberto gracias por visitar, para ayudarte me puedes mandar capturas de pantalla del error y de la configuración de tu cliente FTP, muchas gracias, el correo es [email protected] saludos
Hola!! Fijate que yo tuve el mismo problema, me podras ayudar??. Me ayudo bastante, excelente, pero me dio ese error:(
Hola!! Yo tuve el mismo problema, me puedes dar una mano? Soy Luis Martinez
Hola Luis, gracias por visitar, claro con mucho gusto te ayudo, me puedes mandar capturas del error y de tu configuración tanto del archivo /etc/vsftpd.conf y de FileZilla al correo [email protected] espero tu respuesta, saludos.
Hola Luis, a mi me aparece un mensaje que dice «E: no se puede obtener un bloqueo /var/lib/dpkg/lock- fronted. Lo mantiene el proceso 5208»
Encontré este artículo, tal vez te ayude https://ubunlog.com/soluciones-al-error-no-se-pudo-obtener-lock-var-lib-dpkg-lock/#:~:text=El%20error%20%C2%ABcould%20not%20get,de%20Ubuntu%2C%20Synaptic%20y%20dem%C3%A1s.
Hola Luis, a mi me aparece un mensaje que dice «E: no se puede obtener un bloqueo /var/lib/dpkg/lock- fronted. Lo mantiene el proceso 5208»
hola, como acceder desde el explorer de windows
Hola Frank, gracias por visitar y comentar, te comparto este tutorial seguro te va a ayudar: https://www.youtube.com/watch?v=PwH3LPaBGgc saludos.
Hola, seguí todos los pasos y funcionó todo sin problemas, gracias por compartir!
Hola Alfredo! Gracias por compartir tu conocimiento, este tutorial me ha servido de mucho, saludos.
Hola José, gracias por visitar y comentar, me alegro mucho que fue de ayuda, saludos!