Este tutorial trata sobre la instalación y configuración del conocido y seguro servidor VsFTPD (Demonio de protocolo de transferencia de archivos muy seguro) en su sistema Ubuntu. FTP o Protocolo de transferencia de archivos es un protocolo de red común que se utiliza para transferir archivos entre dos computadoras o para transferir archivos desde su escritorio a su sitio web o servidor de alojamiento web. Estos archivos se pueden cargar y descargar según los privilegios que tenga un usuario en el servidor FTP.
Presentemos un tutorial paso a paso para instalar y luego configurar el servidor FTP en un sistema Ubuntu 18.04 LTS. Esta es la forma más básica de usar FTP y una vez que se familiarice con ella, puede pasar a las operaciones más complejas. Dado que estamos usando la línea de comandos de Ubuntu para nuestro tutorial, puede abrirlo a través del tablero del sistema o el atajo Ctrl+alt+T.
Instalación del servidor FTP
En este proceso, instalaremos VsFTPD-Demonio FTP muy seguro en nuestro sistema Ubuntu. La utilidad VsFTPD es más potente y segura que el FTP nativo.
Paso 1:Instalar VsFTPD
Para instalar el paquete VsFTPD a través de nuestra Terminal, primero actualicemos nuestros repositorios a través del siguiente comando:
$ sudo apt-get update
Ahora es el momento de instalar el último paquete binario disponible para VsFTPD a través del siguiente comando como root:
$ sudo apt-get install vsftpd
El sistema le pedirá las credenciales de usuario y también podría darle una opción S/N para continuar con el proceso de instalación. Ingrese Y para continuar.
Una vez completada la instalación, puede verificarla comprobando el número de versión del paquete VsFTPD instalado de la siguiente manera:
$ vsftpd -verions
El resultado anterior muestra el número de versión y verifica que VsFTPD ahora está instalado en su sistema.
Paso 2:Inicie el servicio VsFTPD
Cuando instala VsFTPD, el servicio está deshabilitado de manera predeterminada. Iniciemos el servicio a través del siguiente comando:
$ systemctl start vsftpd
Se le pedirá que proporcione autenticación de usuario, como se indicó anteriormente. Ingrese su contraseña y luego haga clic en el botón Autenticar. Entonces se iniciará el servicio.
También puede habilitar el servicio para que se inicie automáticamente al arrancar mediante el siguiente comando:
$ systemctl enable vsftpd
Se le pedirá que proporcione autenticación de usuario varias veces para diversos fines. Ingrese su contraseña y luego haga clic en el botón Autenticar.
Configuración VsFTPD
Una vez completada la instalación, configuremos y configuremos FTP en nuestro sistema Ubuntu.
Paso 1:Abra los puertos 20 y 21 si el firewall está habilitado
Puede verificar el estado de su firewall a través del siguiente comando:
$ sudo ufw status
Si el firewall está habilitado y el estado es activo, puede abrir los puertos 20 y 21 a través del siguiente comando:
$ sudo ufw allow 20/tcp $ sudo ufw allow 21/tcp
Ahora, nuevamente, si ve el estado del firewall, verá estos dos puertos abiertos y permitidos:
Paso 2:Configure el archivo vsftpd.conf y habilite SSL/TLS
El paso más importante en la configuración de FTP es realizar algunos cambios en el archivo de configuración de vsftpd. Pero antes de realizar cambios en este importante archivo, hagamos una copia de seguridad mediante el siguiente comando:
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
Ahora abra el archivo de configuración en su editor de texto favorito. Estamos usando el editor nano para editar este archivo:
$ sudo nano /etc/vsftpd.conf
Para realizar la configuración de FTP más básica, copie la siguiente configuración al final del archivo:
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 rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=Yes pasv_enable=Yes pasv_min_port=10000 pasv_max_port=10100 allow_writeable_chroot=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO
Salga y guarde el archivo presionando Ctrl+X y luego presione enter.
Paso 3:reiniciar el servicio VsFTPD
Después de realizar cambios en el archivo vsftpd.conf, debe reiniciar el servicio VsFTPD para que estos cambios surtan efecto. Ingrese el siguiente comando como root para reiniciar el servicio:
$ sudo systemctl restart vsftpd
Paso 4:Crea un usuario FTP
Ahora vamos a crear un usuario para FTP que podrá usar el servidor FTP, a través de este comando:
$ sudo useradd -m “username”
Asigne una contraseña a ese usuario a través de este comando:
$ sudo passwd “username”
En este ejemplo, hemos creado un usuario con el nombre sampleuser y le hemos asignado una contraseña:
También nos permite crear un archivo de muestra en el directorio de inicio del nuevo usuario. Este archivo se usará más adelante cuando estemos probando nuestra conexión FTP:
$ sudo bash -c “echo Este es un archivo de muestra para FTP> /home/usuariodemuestra/archivodemuestra”
Probar la conexión FTP
Finalmente, probemos nuestra conexión FTP. Estoy probando esta conexión en localhost. Puede usar un servidor FTP disponible para probar su conexión:
$ ftp “hostname”
Ejemplo:
Aquí debe proporcionar el nombre de usuario y la contraseña del usuario que creó para acceder al servidor FTP.
Una vez que haya iniciado sesión correctamente, puede enumerar los archivos disponibles a través del comando ls. En la siguiente imagen, puede ver el archivo de muestra que creamos en el directorio de inicio del usuario de muestra.
También puede acceder al servidor FTP a través de su navegador web ingresando al sitio FTP. Por ejemplo, para acceder al host local, usaré el siguiente enlace:
ftp://localhost/
También puede acceder fácilmente a los archivos disponibles desde aquí.
Entonces, hemos presentado el procedimiento más simple y básico para instalar y configurar el servidor FTP en su sistema Ubuntu. Siguiendo los pasos mencionados anteriormente, puede acceder al servidor FTP y cargar/descargar archivos desde allí.