Come faccio a configurare un server FTP e un utente FTP sulla mia istanza Lightsail?

4 minuti di lettura
0

Voglio configurare un server FTP (File Transfer Protocol) e un utente FTP sulla mia istanza Amazon Lightsail che esegue Amazon Linux 2, CentOS, Ubuntu o Debian.

Risoluzione

Nota: FTP trasmette tutti i dati e le password come testo normale. SSH File Transfer Protocol (SFTP) è un modo più sicuro per connettersi all'istanza e trasmettere dati. Per informazioni sull'uso di SFTP, consulta Connessione alla tua istanza Linux o Unix in Amazon Lightsail tramite SFTP.

Configurare un server FTP e un utente FTP

1.    Esegui il seguente comando per installare il pacchetto VSFTPD:

Amazon Linux 2 e CentOS:

sudo yum install vsftpd -y

Ubuntu e Debian:

sudo apt install vsftpd -y

Se ricevi un errore che indica che il pacchetto non è disponibile, esegui il comando seguente per aggiornare gli elenchi dei pacchetti:

sudo apt update -y
  1. Modifica il file vsftpd.config per aggiornare le variabili per il tuo ambiente.

La posizione del file vsftpd.config varia a seconda del sistema operativo:

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

Nell'esempio seguente, aggiorna le variabili per il tuo caso d'uso. I seguenti parametri sono comuni a tutti i sistemi operativi.

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: La porta 21 è la porta predefinita per FTP. Tuttavia, per motivi di sicurezza, la porta personalizzata 10021 viene utilizzata come porta per FTP nell'esempio precedente. Per personalizzare la porta, cambia la porta listen_port con la porta che desideri e imposta connect_from_port_20 a NO. Assicurati di attivare le porte che intendi utilizzare per FTP sul firewall dell'istanza. Nell'esempio precedente, le porte 10021 e 21000-21999 sono attivate sul firewall personalizzato e su Lightsail. Inoltre, i parametri listen e listen_ipv6 non possono essere presenti nel file contemporaneamente. Aggiorna il file di configurazione in modo che solo uno sia impostato su YES.

I seguenti parametri sono specifici dei sistemi operativi. Oltre all'esempio precedente, modificate le seguenti variabili per il vostro sistema operativo.

Amazon Linux 2 e CentOS

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

Debian e Ubuntu:

chroot_list_file=/etc/vsftpd.chroot_listuserlist_file=/etc/vsftpd.userlist
  1. Esegui il comando seguente per aggiungere l'utente FTP:
sudo useradd -m ftp_user

Nota: Nell'esempio precedente, sostituisci ftp_user con un nome utente a tua scelta.

  1. Esegui il comando seguente per creare una password per l'utente:
sudo passwd ftp_user
  1. Esegui il comando seguente per modificare la proprietà del file /home/ftp_user. Questo comando rende ftp_user il proprietario del file.
sudo chown ftp_user:ftp_user -R /home/ftp_user/
  1. Esegui il comando seguente per aggiungere il nuovo utente a vsftpd user_list. Usa il flag -a per aggiungere al file.

Amazon Linux 2 e CentOS

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

Debian e Ubuntu

Esegui il comando seguente per creare il file userlist e aggiungere il nuovo utente al file:

sudo echo "ftp_user" | sudo tee -a /etc/vsftpd.userlist
  1. Riavvia il servizio vsftpd:
sudo systemctl restart vsftpd
  1. Connettiti al server FTP. L'esempio seguente utilizza Filezilla plain FTP.
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

Risoluzione dei problemi relativi alla configurazione di un server FTP

Se i parametri del file di configurazione vsftpd.conf non sono impostati correttamente, il server FTP potrebbe non avviarsi. In questo caso, esegui il comando seguente per determinare le opzioni che non sono configurate correttamente:

Amazon Linux 2 e CentOS

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

Debian e Ubuntu

sudo /usr/sbin/vsftpd /etc/vsftpd.conf
AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa