FTP sta per "File Transfer Protocol" ed è un ottimo protocollo per scaricare file da un server remoto o locale o caricare file sul server. L'uso di FTP si rivela un'attività piuttosto semplice dopo che è stato impostato correttamente. Funziona avendo un server in ascolto per le connessioni (sulla porta 21 per impostazione predefinita) dai client. I client possono accedere a una directory remota con il proprio account utente e quindi scaricare o caricare file lì, a seconda delle autorizzazioni loro concesse. È anche possibile configurare l'autorizzazione anonima, il che significa che gli utenti non avranno bisogno del proprio account per connettersi al server FTP.
Su Ubuntu Linux sono disponibili una moltitudine di diversi pacchetti software client e server FTP. Puoi persino utilizzare la GUI predefinita e gli strumenti della riga di comando come client FTP. Un pacchetto server FTP molto popolare e altamente configurabile è vsftpd, disponibile per molti sistemi Linux, incluso Ubuntu.
In questa guida, esamineremo le istruzioni passo passo per installare vsftpd su Ubuntu. Vedremo anche come configurare il server FTP attraverso varie impostazioni, quindi come utilizzare la riga di comando, la GUI di GNOME o il software client FTP per connettersi al server FTP.
FTP sarà sufficiente per alcune situazioni, ma per le connessioni su Internet è consigliato SFTP. Questo perché FTP non è sicuro da usare su una connessione Internet, poiché le tue credenziali e i tuoi dati vengono trasmessi senza crittografia. La "S" in SFTP sta per "Secure" e incanala il protocollo FTP tramite SSH, fornendo la crittografia necessaria per stabilire una connessione sicura. Per ulteriori informazioni su SFTP, consulta la nostra guida su Come trasferire file in modo sicuro con SFTP.
In questo tutorial imparerai:
- Come installare e configurare vsftpd su Ubuntu
- Come configurare un account utente FTP
- Come connettersi al server FTP tramite riga di comando
- Come connettersi al server FTP tramite GUI
- Come configurare l'accesso FTP anonimo
- Come modificare la porta di ascolto FTP predefinita
- Risoluzione dei problemi relativi all'errore di connessione FTP "connessione rifiutata"
Connessione al server FTP su Ubuntu Linux
Categoria | Requisiti, convenzioni o versione del software utilizzata |
---|---|
Sistema | Ubuntu Linux |
Software | vsftpd |
Altro | Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando. |
Convenzioni | # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato |
Installazione vsftpd
Installa vsftpd sul tuo sistema Ubuntu digitando questo comando nel terminale:
$ sudo apt install vsftpd
Configura il server vsftpd
- È sempre consigliabile conservare una copia di backup del file di configurazione originale, nel caso qualcosa vada storto in seguito. Rinominiamo il file di configurazione predefinito:
$ sudo mv /etc/vsftpd.conf /etc/vsftpd.conf_orig
- Crea un nuovo file di configurazione vsftpd utilizzando nano o qualsiasi editor di testo che preferisci:
$ sudo nano /etc/vsftpd.conf
- Copia la seguente configurazione di base nel tuo file. Questa configurazione sarà sufficiente per un server FTP di base e può essere successivamente modificata per le esigenze specifiche del tuo ambiente una volta verificato che funzioni correttamente:
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
Incolla le righe precedenti nel tuo
/etc/vsftpd.conf
appena creato file, quindi salva le modifiche e chiudi il file.
file di configurazione vsftpd - Il firewall integrato di Ubuntu bloccherà il traffico FTP per impostazione predefinita, ma il comando seguente creerà un'eccezione in UFW per consentire il traffico:
$ sudo ufw allow from any to any port 20,21,10000:10100 proto tcp
- Con il file di configurazione salvato e le regole del firewall aggiornate, riavvia vsftpd per applicare le nuove modifiche:
$ sudo systemctl restart vsftpd
Crea un utente FTP
Il nostro server FTP è pronto per ricevere le connessioni in entrata, quindi ora è il momento di creare un nuovo account utente che utilizzeremo per connetterci al servizio FTP.
- Usa questo primo comando per creare un nuovo account chiamato
ftpuser
e il secondo comando per impostare una password per l'account:$ sudo useradd -m ftpuser $ sudo passwd ftpuser New password: Retype new password: passwd: password updated successfully
- Per verificare che tutto funzioni correttamente, dovresti memorizzare almeno un file nella directory home di ftpuser. Questo file dovrebbe essere visibile quando accediamo a FTP nei passaggi successivi.
$ sudo bash -c "echo FTP TESTING > /home/ftpuser/FTP-TEST"
Connettiti al server FTP tramite riga di comando
Ora dovresti essere in grado di connetterti al tuo server FTP tramite indirizzo IP o nome host. Innanzitutto, assicurati che l'utilità client FTP predefinita sia installata sul tuo sistema eseguendo il comando seguente. Installerà il software o ti dirà che esiste già sul sistema.
$ sudo apt install ftp
Per connetterti dalla riga di comando e verificare che tutto funzioni, apri un terminale e usa il comando ftp di Ubuntu per connetterti al tuo indirizzo di loopback (127.0.0.1).
$ ftp 127.0.0.1Connessione al server FTP tramite riga di comando
Come puoi vedere nello screenshot qui sopra, siamo stati in grado di accedere al server FTP specificando il nome utente e la password che abbiamo configurato in precedenza. Quindi, proviamo a emettere un ls
comando, che dovrebbe elencare il file di prova che abbiamo creato nei passaggi precedenti.
ftp> lsElencare il nostro file di prova per assicurarci di poter visualizzare i contenuti del server FTP
Il tuo output dovrebbe assomigliare allo screenshot qui sopra, indicando un accesso riuscito e un ls
comando che rivela il nostro file di prova che abbiamo creato in precedenza.
Connettiti al server FTP tramite la GUI di GNOME
Puoi anche connetterti al tuo server FTP tramite la GUI, se preferisci. Esistono molte opzioni per i client FTP, ma la GUI GNOME predefinita su Ubuntu offre già la possibilità di connettersi ai server FTP dal file manager. Ecco come usarlo per connetterti al tuo server FTP.
- Apri il file manager dal menu Attività o dalla barra di avvio rapido.
- Fai clic su "Altre posizioni" e inserisci
ftp://127.0.0.1
nella casella "Connetti al server" nella parte inferiore della finestra e fai clic su Connetti.
Connessione al server FTP tramite il file manager GNOME - Scegli "utente registrato", quindi inserisci le credenziali dell'account FTP che abbiamo configurato in precedenza e fai clic su Connetti. Inserimento delle nostre credenziali utente FTP
- Dopo una connessione riuscita, vedrai il file di prova che hai creato in precedenza. Ora potrai scaricare e visualizzare questo file o caricare i tuoi contenuti nella directory. Connessione riuscita al server FTP, che mostra il nostro file di prova
Consenti l'accesso anonimo in vsftpd
Finora, abbiamo visto come creare nuovi utenti che possono accedere al server FTP. Se desideri che altri possano accedere al tuo server FTP senza fornire nome utente e password, puoi configurare l'autenticazione anonima. Segui i passaggi seguenti per configurarlo.
- Per prima cosa, dovremo modificare il
/etc/vsftpd.conf
file, quindi aprilo con nano o qualsiasi altro editor di testo.$ sudo nano /etc/vsftpd.conf
- Quindi, cerca il
anonymous_enable=NO
riga e modificare l'impostazione inYES
.anonymous_enable=YES
- Al termine, esci da questo file salvando le nuove modifiche, quindi riavvia il servizio vsftpd affinché le modifiche abbiano effetto.
$ sudo systemctl restart vsftpd
- Per testare l'accesso anonimo, emetti
ftp 127.0.0.1
comando, usaanonymous
come nome utente e una password vuota. Dovresti ricevere un230 Login successful
messaggio come mostrato nello screenshot qui sotto.
Accesso al server FTP con anonimo
Cambia il numero di porta FTP predefinito
Per impostazione predefinita, il protocollo FTP è in ascolto sulla porta 21 per l'autenticazione dell'utente e sulla porta 20 per il trasferimento dei dati. Tuttavia, possiamo modificare questo comportamento apportando una piccola modifica a /etc/vsftpd.conf
file. In fondo al file, usa listen_port
direttiva per specificare una porta diversa da utilizzare per vsftpd. Ad esempio, l'aggiunta della seguente riga indicherà a vsftpd di rimanere in ascolto sulla porta 2121:
listen_port=2121
Pensieri conclusivi
In questa guida abbiamo visto come utilizzare il pacchetto software vsftpd per creare un server FTP su Ubuntu Linux. Abbiamo anche imparato come utilizzare la riga di comando o la GUI di GNOME come client FTP per la connessione al server. Seguendo questa guida, i computer della tua rete locale possono accedere al tuo sistema per archiviare e recuperare file, tramite la riga di comando o il loro client FTP preferito.
Risoluzione dei problemi
L'errore più comune che potresti ricevere è un messaggio "Connessione rifiutata" quando tenti di connetterti al server. Ciò potrebbe essere dovuto a una serie di motivi, ma è comunemente associato a un firewall che blocca la connessione o a un file vstpd configurato in modo errato. Assicurati che la porta FTP non sia bloccata dal firewall eseguendo questo comando:
$ sudo ufw allow from any to any port 20,21,10000:10100 proto tcp
Controlla anche lo stato del servizio vsftpd per assicurarti che sia in esecuzione e che non abbia riscontrato alcun errore di avvio.
$ systemctl status vsftpdVerifica dello stato del servizio vsftpd
Utilizza i seguenti comandi per avviare vsftpd o per riavviare il servizio dopo aver applicato le modifiche alla configurazione.
$ sudo systemctl start vsftpd OR $ sudo systemctl restart vsftpd
Infine, tieni presente che anche un router o un firewall esterno potrebbero essere responsabili del blocco della tua connessione. Se riesci a connetterti correttamente al tuo server FTP con ftp 127.0.0.1
comando sul server stesso e aver seguito i passaggi per la risoluzione dei problemi di cui sopra, ma non sono in grado di connettersi al server FTP da un sistema remoto, quindi è probabile che sia presente qualche dispositivo tra i due sistemi che sta bloccando la connessione.