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

4 minutos de lectura
0

Quiero configurar un servidor de protocolo de transferencia de archivos (FTP) y un usuario de FTP en mi instancia de Amazon Lightsail que ejecuta Amazon Linux 2, CentOS, Ubuntu o Debian.

Resolución

Nota: El FTP transmite todos los datos y contraseñas como texto sin formato. El Protocolo de transferencia de archivos SSH (SFTP) es una forma más segura de conectarse a la instancia y transmitir datos. Para obtener información sobre el uso de SFTP, consulte Connecting to your Linux or Unix instance in Amazon Lightsail using SFTP.

Configurar un servidor FTP y un usuario FTP

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

Si aparece un error que indica que el paquete no está disponible, ejecute el siguiente comando para actualizar las listas de paquetes:

sudo apt update -y

2.    Edite el archivo vsftpd.config para actualizar las variables de su entorno.

La ubicación del archivo vsftpd.config varía en función del sistema operativo:

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

En el siguiente ejemplo, actualice las variables para su caso de uso. Los siguientes parámetros son comunes a todos los sistemas operativos.

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
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
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. Sin embargo, por motivos de seguridad, el puerto personalizado 10021 se utiliza como puerto para FTP en el ejemplo anterior. Para personalizar el puerto, cambie listen_port por el puerto que desee y configure connect_from_port_20 en NO. Asegúrese de activar los puertos que planea usar para el 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 el firewall de Lightsail. Además, los parámetros listen y listen_ipv6 no pueden estar en el archivo al mismo tiempo. Actualice el archivo de configuración para que solo uno esté configurado en YES.

Los siguientes parámetros son específicos de los sistemas operativos. Además del ejemplo anterior, edite las siguientes variables para su sistema operativo.

Amazon Linux 2 y CentOS

chroot_list_file=/etc/vsftpd/chroot_listuserlist_file=/etc/vsftpd/user_list

Debian y Ubuntu:

chroot_list_file=/etc/vsftpd.chroot_listuserlist_file=/etc/vsftpd.userlist

3.    Ejecute el siguiente comando para añadir el usuario de FTP:

sudo useradd -m ftp_user

Nota: En el ejemplo anterior, sustituya ftp_user por el nombre de usuario que elija.

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 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 el indicador -a para anexarlo 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 userlist y añadir 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. El siguiente ejemplo utiliza FTP sin formato 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 de un servidor FTP

Si los parámetros del archivo de configuración vsftpd.conf no están configurados correctamente, es posible que el servidor FTP no se inicie. En este caso, ejecute el siguiente comando para determinar las opciones que 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
OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año