GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare e utilizzare il server FTP in Ubuntu Linux

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.

AVVISO
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

Requisiti software e convenzioni della riga di comando 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

  1. È 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
    
  2. Crea un nuovo file di configurazione vsftpd utilizzando nano o qualsiasi editor di testo che preferisci:
    $ sudo nano /etc/vsftpd.conf
    
  3. 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.

  4. file di configurazione vsftpd

  5. 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
    
  6. 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.

  1. 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
    
  2. 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.1

Connessione 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> ls

Elencare 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.

  1. Apri il file manager dal menu Attività o dalla barra di avvio rapido.
  2. 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.
  3. Connessione al server FTP tramite il file manager GNOME

  4. Scegli "utente registrato", quindi inserisci le credenziali dell'account FTP che abbiamo configurato in precedenza e fai clic su Connetti.
  5. Inserimento delle nostre credenziali utente FTP

  6. 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.
  7. 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.

  1. 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
    
  2. Quindi, cerca il anonymous_enable=NO riga e modificare l'impostazione in YES .
    anonymous_enable=YES
    
  3. Al termine, esci da questo file salvando le nuove modifiche, quindi riavvia il servizio vsftpd affinché le modifiche abbiano effetto.
    $ sudo systemctl restart vsftpd
    
  4. Per testare l'accesso anonimo, emetti ftp 127.0.0.1 comando, usa anonymous come nome utente e una password vuota. Dovresti ricevere un 230 Login successful messaggio come mostrato nello screenshot qui sotto.
  5. 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 vsftpd

Verifica 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.


Ubuntu
  1. Come installare e utilizzare Hubot su Ubuntu Linux

  2. Come configurare il server FTP su Ubuntu 20.04 Focal Fossa Linux

  3. Come configurare il server FTP con VSFTPD su Ubuntu 20.04

  4. Come installare e utilizzare Telnet su Ubuntu 20.04 LTS

  5. Come installare e configurare Universal Media Server in Ubuntu 20.04

Come installare e utilizzare WinSCP su Ubuntu 20.04 Linux

Come configurare e utilizzare Google Drive su Ubuntu 20.04

Come configurare server e client NTP su Ubuntu 20.04 LTS

Cos'è il PPA in Ubuntu Linux e come li uso

Come configurare e utilizzare il bridge di rete in Ubuntu Linux

Come installare e utilizzare ClamAV Antivirus su Ubuntu Linux