GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar y usar el servidor FTP en Ubuntu Linux

FTP significa "Protocolo de transferencia de archivos" y es un excelente protocolo para descargar archivos desde un servidor remoto o local, o cargar archivos en el servidor. El uso de FTP demuestra ser una tarea bastante básica después de que se haya configurado correctamente. Funciona al tener un servidor que escucha las conexiones (en el puerto 21 de forma predeterminada) de los clientes. Los clientes pueden acceder a un directorio remoto con su cuenta de usuario y luego descargar o cargar archivos allí, según los permisos que se les hayan otorgado. También es posible configurar la autorización anónima, lo que significa que los usuarios no necesitarán su propia cuenta para conectarse al servidor FTP.

En Ubuntu Linux, hay una multitud de diferentes paquetes de software de cliente y servidor FTP disponibles. Incluso puede utilizar la GUI predeterminada y las herramientas de línea de comandos como un cliente FTP. Un paquete de servidor FTP muy popular y altamente configurable es vsftpd, disponible para muchos sistemas Linux, incluido Ubuntu.

En esta guía, repasaremos las instrucciones paso a paso para instalar vsftpd en Ubuntu. También veremos cómo configurar el servidor FTP a través de varias configuraciones, luego cómo usar la línea de comandos, la GUI de GNOME o el software de cliente FTP para conectarse al servidor FTP.

ADVERTENCIA
FTP será suficiente para algunas situaciones, pero para conexiones a través de Internet, se recomienda SFTP. Esto se debe a que el uso de FTP no es seguro a través de una conexión a Internet, ya que sus credenciales y datos se transmiten sin encriptación. La 'S' en SFTP significa 'Seguro' y canaliza el protocolo FTP a través de SSH, proporcionando el cifrado necesario para establecer una conexión segura. Para obtener más información sobre SFTP, consulte nuestra guía sobre cómo transferir archivos de forma segura con SFTP.

En este tutorial aprenderás:

  • Cómo instalar y configurar vsftpd en Ubuntu
  • Cómo configurar una cuenta de usuario FTP
  • Cómo conectarse al servidor FTP a través de la línea de comandos
  • Cómo conectarse al servidor FTP a través de GUI
  • Cómo configurar el inicio de sesión FTP anónimo
  • Cómo cambiar el puerto de escucha FTP predeterminado
  • Solución de problemas de error de conexión FTP "conexión rechazada"

Conexión al servidor FTP en Ubuntu Linux

instalación vsftpd

Instale vsftpd en su sistema Ubuntu escribiendo este comando en la terminal:

$ sudo apt install vsftpd

Configurar servidor vsftpd

  1. Siempre es una buena práctica mantener una copia de seguridad del archivo de configuración original, en caso de que algo salga mal más adelante. Cambiemos el nombre del archivo de configuración predeterminado:
    $ sudo mv /etc/vsftpd.conf /etc/vsftpd.conf_orig
    
  2. Cree un nuevo archivo de configuración de vsftpd usando nano o el editor de texto que prefiera:
    $ sudo nano /etc/vsftpd.conf
    
  3. Copie la siguiente configuración básica en su archivo. Esta configuración será suficiente para un servidor FTP básico y luego se puede modificar para las necesidades específicas de su entorno una vez que haya verificado que funciona correctamente:
    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=NO
    pasv_enable=Yes
    pasv_min_port=10000
    pasv_max_port=10100
    allow_writeable_chroot=YES

    Pegue las líneas anteriores en su /etc/vsftpd.conf recién creado y luego guarde los cambios y cierre el archivo.

  4. archivo de configuración vsftpd

  5. El cortafuegos integrado de Ubuntu bloqueará el tráfico FTP de forma predeterminada, pero el siguiente comando creará una excepción en UFW para permitir el tráfico:
    $ sudo ufw allow from any to any port 20,21,10000:10100 proto tcp
    
  6. Con el archivo de configuración guardado y las reglas del cortafuegos actualizadas, reinicie vsftpd para aplicar los nuevos cambios:
    $ sudo systemctl restart vsftpd
    

Crear un usuario FTP

Nuestro servidor FTP está listo para recibir conexiones entrantes, así que ahora es el momento de crear una nueva cuenta de usuario que usaremos para conectarnos al servicio FTP.

  1. Use este primer comando para crear una nueva cuenta llamada ftpuser y el segundo comando para establecer una contraseña para la cuenta:
    $ sudo useradd -m ftpuser
    $ sudo passwd ftpuser
    New password: 
    Retype new password: 
    passwd: password updated successfully
    
  2. Para verificar que todo funciona correctamente, debe almacenar al menos un archivo en el directorio de inicio de ftpuser. Este archivo debería estar visible cuando iniciemos sesión en FTP en los siguientes pasos.
    $ sudo bash -c "echo FTP TESTING > /home/ftpuser/FTP-TEST"
    

Conéctese al servidor FTP a través de la línea de comandos

Ahora debería poder conectarse a su servidor FTP ya sea por dirección IP o nombre de host. Primero, asegúrese de que la utilidad de cliente FTP predeterminada esté instalada en su sistema ejecutando el siguiente comando. Instalará el software o le dirá que ya existe en el sistema.

$ sudo apt install ftp

Para conectarse desde la línea de comandos y verificar que todo funciona, abra una terminal y use el comando ftp de Ubuntu para conectarse a su dirección de loopback (127.0.0.1).

$ ftp 127.0.0.1

Conexión al servidor FTP a través de la línea de comandos

Como puede ver en la captura de pantalla anterior, pudimos iniciar sesión en el servidor FTP especificando el nombre de usuario y la contraseña que configuramos anteriormente. A continuación, intentemos emitir un ls comando, que debe incluir el archivo de prueba que creamos en los pasos anteriores.

ftp> ls

Listado de nuestro archivo de prueba para asegurarnos de que podemos ver el contenido del servidor FTP

Su salida debe verse como la captura de pantalla anterior, indicando un inicio de sesión exitoso y un ls comando que revela nuestro archivo de prueba que creamos anteriormente.

Conéctese al servidor FTP a través de la GUI de GNOME

También puede conectarse a su servidor FTP mediante GUI, si lo prefiere. Hay muchas opciones para clientes FTP, pero la GUI de GNOME predeterminada en Ubuntu ya viene con la capacidad de conectarse a servidores FTP desde el administrador de archivos. Aquí se explica cómo usarlo para conectarse a su servidor FTP.

  1. Abra el administrador de archivos desde el menú Actividades o la barra de inicio rápido.
  2. Haga clic en "Otras ubicaciones" e ingrese ftp://127.0.0.1 en el cuadro "Conectar al servidor" en la parte inferior de la ventana y haga clic en conectar.
  3. Conexión al servidor FTP a través del administrador de archivos GNOME

  4. Elija "usuario registrado" y luego ingrese las credenciales de la cuenta FTP que configuramos anteriormente y haga clic en conectar.
  5. Ingresando nuestras credenciales de usuario FTP

  6. Después de una conexión exitosa, verá el archivo de prueba que creó anteriormente. Ahora podrá descargar y ver este archivo, o cargar su propio contenido en el directorio.
  7. Conexión exitosa al servidor FTP, mostrando nuestro archivo de prueba

Permitir acceso anónimo en vsftpd

Hasta ahora, hemos visto cómo crear nuevos usuarios que pueden acceder al servidor FTP. Si desea que otros puedan acceder a su servidor FTP sin proporcionar un nombre de usuario y contraseña, puede configurar la autenticación anónima. Siga los pasos a continuación para configurarlo.

  1. Primero, necesitaremos editar el /etc/vsftpd.conf archivo, así que ábralo con nano o cualquier otro editor de texto.
    $ sudo nano /etc/vsftpd.conf
    
  2. Luego, busque el anonymous_enable=NO y cambie la configuración a YES .
    anonymous_enable=YES
    
  3. Cuando termine, salga de este archivo mientras guarda los nuevos cambios, luego reinicie el servicio vsftpd para que los cambios surtan efecto.
    $ sudo systemctl restart vsftpd
    
  4. Para probar el inicio de sesión anónimo, emita el ftp 127.0.0.1 comando, use anonymous como su nombre de usuario y una contraseña en blanco. Debería recibir un 230 Login successful mensaje como se muestra en la siguiente captura de pantalla.
  5. Iniciar sesión en el servidor FTP con anónimo

Cambiar número de puerto FTP predeterminado

De forma predeterminada, el protocolo FTP escucha en el puerto 21 para la autenticación del usuario y en el puerto 20 para la transferencia de datos. Sin embargo, podemos cambiar este comportamiento haciendo una pequeña edición en /etc/vsftpd.conf expediente. En la parte inferior del archivo, use el listen_port directiva para especificar un puerto diferente para que lo use vsftpd. Por ejemplo, agregar la siguiente línea le indicará a vsftpd que escuche en el puerto 2121:

listen_port=2121

Pensamientos finales

En esta guía, vimos cómo usar el paquete de software vsftpd para crear un servidor FTP en Ubuntu Linux. También aprendimos a usar la línea de comandos o la GUI de GNOME como un cliente FTP para conectarse al servidor. Al seguir esta guía, las computadoras en su red local pueden acceder a su sistema para almacenar y recuperar archivos, ya sea a través de la línea de comandos o su cliente FTP preferido.

Resolución de problemas

El error más común que puede recibir es un mensaje de "Conexión rechazada" cuando intenta conectarse al servidor. Esto podría deberse a una variedad de razones, pero comúnmente se asocia con un firewall que bloquea la conexión o un archivo vstpd mal configurado. Asegúrese de que su firewall no bloquee el puerto FTP ejecutando este comando:

$ sudo ufw allow from any to any port 20,21,10000:10100 proto tcp

También verifique el estado del servicio vsftpd para asegurarse de que se esté ejecutando y no haya encontrado ningún error de inicio.

$ systemctl status vsftpd

Comprobando el estado del servicio vsftpd

Utilice los siguientes comandos para iniciar vsftpd o para reiniciar el servicio después de aplicar los cambios de configuración.

$ sudo systemctl start vsftpd
OR
$ sudo systemctl restart vsftpd

Por último, ten en cuenta que un enrutador o firewall externo también podría ser el responsable de bloquear tu conexión. Si puede conectarse con éxito a su servidor FTP con ftp 127.0.0.1 comando en el propio servidor y ha seguido los pasos de solución de problemas anteriores, pero no puede conectarse al servidor FTP desde un sistema remoto, entonces es probable que haya algún dispositivo entre los dos sistemas que esté bloqueando la conexión.


Ubuntu
  1. Cómo instalar y usar Hubot en Ubuntu Linux

  2. Cómo configurar el servidor FTP en Ubuntu 20.04 Focal Fossa Linux

  3. Cómo configurar un servidor FTP con VSFTPD en Ubuntu 20.04

  4. Cómo instalar y usar Telnet en Ubuntu 20.04 LTS

  5. Cómo instalar y configurar Universal Media Server en Ubuntu 20.04

Cómo instalar y usar WinSCP en Ubuntu 20.04 Linux

Cómo configurar y usar Google Drive en Ubuntu 20.04

Cómo configurar el servidor y el cliente NTP en Ubuntu 20.04 LTS

¿Qué es PPA en Ubuntu Linux y cómo lo uso?

Cómo configurar y usar Network Bridge en Ubuntu Linux

Cómo instalar y usar ClamAV Antivirus en Ubuntu Linux

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema Ubuntu Linux
    Software vsftpd
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios