Instalar y configurar un servidor FTP con VSFTPd en Ubuntu y derivados.
Por su sencillez y facilidad de uso, VSFTPd es una de las mejores opciones para montar tu propio servidor FTP.
No debemos desconfiar de su robustez por estar diseñado para ser instalado y configurado de manera rápida y fácil.
Estamos ante un potente servidor FTP de código abierto.
En este artículo, vemos cómo instalar y configurar VSFTPd en Ubuntu y derivados de forma que puedas crear tu propio servidor FTP personal.
Vamos a ello.
Instalar un servidor FTP con VSFTPd
Desde tu consola / terminal.
sudo su
Normalmente este servidor ya viene en los repositorios oficiales, así que continuamos.
apt-get install vsftpd -y
Una vez instalado, lo iniciamos y habilitamos.
systemctl start vsftpd
systemctl enable vsftpd
Ahora creamos un usuario FTP (recuerda que este user es un ejemplo).
adduser usuarioFTP
Ya tienes el usuario hecho???, pues vamos a crear el directorio padre del FTP y concederle los permisos correspondientes.
mkdir /home/vsftp/ftp chown nobody:nogroup /home/vsftp/ftp chmod a-w /home/vsftp/ftp
Sobre el directorio anterior… creamos uno para subir y descargar archivos.
mkdir /home/vsftp/ftp/mis-archivos chown vsftp:vsftp /home/vsftp/ftp/mis-archivos
Ya lo tenemos instalado, vamos a configurarlo.
Configurar un servidor FTP con VSFTPd
Primero y por si acaso tenemos algún problema, hacemos una copia del archivo de configuración por defecto.
cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
Editamos el archivo de configuración.
nano /etc/vsftpd.conf
Copia y pega lo siguiente en el archivo «/etc/vsftpd.conf«.
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd pasv_enable=Yes pasv_min_port=10000 pasv_max_port=11000 user_sub_token=$USER local_root=/home/$USER/ftp userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO rsa_cert_file=/etc/cert/vsftpd.pem rsa_private_key_file=/etc/cert/vsftpd.pem ssl_enable=YES 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 el archivo y cierra el editor.
Abrimos el archivo de usuarios para agregar el usuario que creamos anteriormente.
nano /etc/vsftpd.userlist
Copia y pega el usuario (recuerda que este user es un ejemplo).
usuarioFTP
Guarda el archivo y cierra el editor.
Certificado SSL en un servidor FTP con Ubuntu
Es muy sencillo, tan solo sigue los pasos que te indico.
mkdir /etc/cert
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem
Solo nos queda reiniciar el servidor FTP.
systemctl restart vsftpd
Ya lo tenemos terminado.
Puedes conectar a tu nuevo FTP como lo haces normalmente a cualquier otro (si no lo tienes claro, revisa la imagen de ejemplo).
Te recomiendo usar un cliente FTP como Filezilla.
Recuerda que requiere conexiones SSL explícitas al configurar Filezilla, si no… la conexión fallará.
Espero te resulte útil este manual, comparte.
Agregar que si tenes instalado openssh es mejor una conexion SFTP y para ello vas a tener que elegir el protocolo de transferencia a SSH
Gracias por tu contribución, pero un apunte… entonces se conecta a través de ssh y eso puede ser inseguro (incluso peligroso) para usuarios no experimentados.
Aun así, gracias.