¿Cómo puedo configurar un servidor FTP y un usuario FTP en mi instancia de Lightsail?

Última actualización: 05/10/2021

Quiero configurar un servidor FTP y un usuario FTP en mi instancia de Lightsail que ejecuta Amazon Linux 2, CentOS, Ubuntu o Debian. ¿Cómo puedo hacerlo?

Resolución

1.    Ejecute el siguiente comando para instalar el paquete VSFTPD:

Amazon Linux 2 y CentOS

sudo yum install vsftpd -y

Ubuntu y Debian

sudo apt install vsftpd -y

2.    Edite el archivo vsftpd.config para cambiar las variables necesarias para su entorno.

La ubicación del archivo vsftpd.config varía según el sistema operativo:

  • Amazon Linux 2 y CentOS: /etc/vsftpd/vfstpd.conf
  • Debian y Ubuntu: /etc/vsftpd.conf

Cambie las variables del siguiente ejemplo según sea necesario para su entorno:

anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=NO
xferlog_std_format=YES
chroot_local_user=YES
allow_writeable_chroot=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
listen_port=10021
pasv_enable=YES
pasv_min_port=21000
pasv_max_port=21999
pasv_addr_resolve=NO

Nota: El puerto 21 es el puerto predeterminado para FTP. Puede usar el puerto 21. Sin embargo, en el ejemplo anterior, el puerto personalizado 10021 es el puerto para FTP por motivos de seguridad. Para personalizar el puerto, cambie listen_port por el puerto que quiera usar y establezca connect_from_port_20 como NO. Asegúrese de activar los puertos que planea usar para FTP en el firewall de su instancia. En el ejemplo anterior, los puertos 10021 y 21000-21999 están activados en el firewall personalizado y de Lightsail.

3.    Ejecute el siguiente comando para agregar el usuario de FTP:

sudo adduser --home /home/ftp_user ftp_user

Nota: En el ejemplo anterior, sustituya ftp_user por un nombre de usuario de su elección.

4.    Ejecute el siguiente comando para crear una contraseña para el usuario:

sudo passwd ftp_user

5.    Ejecute el siguiente comando para cambiar la propiedad del archivo /home/ftp_user. Este comando convierte a ftp_user en el propietario del archivo.

sudo chown ftp_user:ftp_user -R /home/ftp_user/

6.    Ejecute el siguiente comando para agregar el nuevo usuario a vsftpd user_list. Utilice la marca -a para agregar al archivo.

Amazon Linux 2 y CentOS

sudo echo "ftp_user" | sudo tee -a /etc/vsftpd/user_list

Debian y Ubuntu

Ejecute el siguiente comando para crear el archivo de lista de usuarios y agregar el nuevo usuario al archivo:

sudo echo "ftp_user" | sudo tee -a /etc/vsftpd.userlist

7.    Reinicie el servicio vsftpd:

sudo systemctl restart vsftpd

8.    Conéctese al servidor FTP. En el siguiente ejemplo se utiliza FTP simple de FileZilla.

Status:    Connecting to 54.xxx.xxx.x2:10021...
Status:    Connection established, waiting for welcome message...
Status:    Plain FTP is insecure. Please switch to FTP over TLS.
Status:    Logged in
Status:    Retrieving directory listing...
Status:    Server sent passive reply with unroutable address. Using server address instead.
Status:    Calculating timezone offset of server...
Status:    Timezone offset of server is 0 seconds.
Status:    Directory listing of "/" successful
Status:    Connecting to 54.xxx.1xx.52:10021...
Status:    Connection established, waiting for welcome message...
Status:    Plain FTP is insecure. Please switch to FTP over TLS.
Status:    Logged in
Status:    Starting upload of C:\Users\Administrator\Documents\FTPtest.txt
Status:    Server sent passive reply with unroutable address. Using server address instead.
Status:    File transfer successful, transferred 10 bytes in 1 second
Status:    Retrieving directory listing of "/"...
Status:    Server sent passive reply with unroutable address. Using server address instead.
Status:    Directory listing of "/" successful

Solución de problemas de configuración del servidor FTP

Las opciones incorrectas en el archivo vsftpd.conf pueden hacer que el servicio vsftpd se interrumpa. Si no puede comenzarlo, ejecute el siguiente comando para encontrar qué opciones no están configuradas correctamente:

Amazon Linux 2 y CentOS

sudo /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

Debian y Ubuntu

sudo /usr/sbin/vsftpd /etc/vsftpd.conf

¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?