3 min read

Guida alla configurazione di un Server FTP su Raspberry Pi: Condivisione file facile e sicura

Guida alla configurazione di un Server FTP su Raspberry Pi: Condivisione file facile e sicura

Configurare un server FTP su Raspberry Pi ti permette di condividere e trasferire file in modo semplice e sicuro all’interno della tua rete domestica o piccola impresa. Un server FTP (File Transfer Protocol) è uno dei metodi più comuni e affidabili per caricare, scaricare e gestire file tra diversi dispositivi, e il Raspberry Pi è perfetto per ospitare un piccolo server FTP grazie alla sua versatilità e ai bassi consumi energetici. In questa guida, ti mostrerò passo-passo come configurare un server FTP sul tuo Raspberry Pi.


Prerequisiti

Prima di iniziare, assicurati di avere:

  • Un Raspberry Pi con il sistema operativo Raspberry Pi OS installato (versione Lite per un setup più leggero, o Desktop se preferisci l’interfaccia grafica)
  • Una connessione a Internet
  • Accesso SSH al Raspberry Pi (opzionale, ma semplifica la configurazione)
  • Permessi di amministratore per eseguire comandi sudo

Passo 1: Aggiornare il sistema operativo

Prima di installare qualsiasi software, è sempre consigliato aggiornare il sistema operativo. Apri il terminale e digita i seguenti comandi:

sudo apt update sudo apt upgrade -y

Questi comandi aggiorneranno il sistema e assicureranno che tutte le dipendenze siano pronte per l’installazione.


Passo 2: Installare il Server FTP (vsftpd)

Il server FTP più comunemente utilizzato per Linux è vsftpd (Very Secure FTP Daemon). Per installarlo, digita il seguente comando:

sudo apt install vsftpd -y

Una volta completata l'installazione, il servizio vsftpd sarà attivo e funzionante, ma richiederà qualche configurazione per essere ottimizzato per le tue esigenze.


Passo 3: Configurazione di vsftpd

  • Apri il file di configurazione: Modifica il file di configurazione di vsftpd per adattarlo alle tue preferenze. Digita:
sudo nano /etc/vsftpd.conf
  • Parametri di configurazione principali: Nel file di configurazione, modifica o verifica le seguenti impostazioni per garantire una configurazione sicura:
#Disabilita accesso anonimo, solo gli utenti registrati potranno accedere
anonymous_enable=NO
#Abilita accesso locale, solo gli utenti locali potranno accedere
local_enable=YES
#Permetti agli utenti di caricare file
write_enable=YES
#Configura l’isolamento dell’utente, ogni utente rimarrà confinato nella proprio directory
chroot_local_user=YES
  • Salva e chiudi il file: Una volta completate le modifiche, salva il file premendo Ctrl + X, poi Y per confermare e Invio per uscire.
  • Riavvia il servizio vsftpd per applicare le modifiche:

Passo 4: Creare e configurare un Utente FTP

Per accedere al server FTP, avrai bisogno di un account utente. Ecco come creare un utente dedicato all’FTP:

  • Crea un utente (sostituisci "nomeutente" con il nome che preferisci):
sudo adduser nomeutente

Segui le istruzioni per impostare la password e creare il nuovo utente.

  • Configura i permessi: Assicurati che l’utente abbia i permessi di lettura e scrittura per la directory che desideri condividere via FTP. Ad esempio:
sudo mkdir -p /home/nomeutente/ftp
sudo chown -R nomeutente:nomeutente /home/nomeutente/ftp
sudo chmod -R 755 /home/nomeutente/ftp
  • Isola l’utente nella sua directory FTP per migliorare la sicurezza:
sudo nano /etc/vsftpd.user_list

Aggiungi il nome utente alla lista per permettere solo agli utenti specificati di accedere.


Passo 5: Configurare la sicurezza con SSL/TLS (opzionale ma raccomandato)

Per una maggiore sicurezza, è possibile configurare il server FTP per supportare SSL/TLS e proteggere le credenziali e i dati durante il trasferimento.

  • Genera un certificato SSL utilizzando OpenSSL:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
  • Configura vsftpd per usare SSL: Modifica di nuovo il file di configurazione:
sudo nano /etc/vsftpd.conf

Aggiungi le seguenti righe per abilitare SSL:

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/private/vsftpd.pem
  • Riavvia il servizio vsftpd:
sudo systemctl restart vsftpd

Passo 6: Testare il server FTP

Una volta completata la configurazione, è il momento di testare il tuo server FTP:

  • Da un computer Windows: Apri un programma FTP come FileZilla, inserisci l’indirizzo IP del Raspberry Pi, il nome utente e la password creati e prova a connetterti.
  • Da Linux: Utilizza il comando FTP nel terminale o un client FTP come Nautilus, inserendo le credenziali del Raspberry Pi.

Se la connessione avviene con successo e riesci a visualizzare, caricare e scaricare file, il server FTP è configurato correttamente!


Considerazioni Finali

Hai appena configurato un server FTP sul tuo Raspberry Pi, consentendoti di condividere file in modo facile e sicuro tra diversi dispositivi della tua rete. Questa configurazione è ideale per backup, condivisione di file multimediali o trasferimenti di documenti tra computer.

Un server FTP sul Raspberry Pi è un'ottima opzione per chi cerca una soluzione semplice e autonoma di file sharing senza dover fare affidamento su servizi cloud esterni. Con l'implementazione di SSL/TLS, il trasferimento dei file sarà più sicuro e protetto.


Spero che questa guida ti abbia aiutato a impostare con successo il tuo server FTP su Raspberry Pi. Buona condivisione e gestione dei tuoi file!