Creare un account FTP tramite SSH
Come configurare un utente FTP dedicato sul tuo server senza pannello di controllo.
Di default, il tuo server dispone solo del superutente root — e connettersi via FTP come root è una pessima idea. L'FTP trasmette le credenziali in chiaro, quindi esporre il tuo account root attraverso questo protocollo rappresenta un serio rischio per la sicurezza.
Se il tuo server non ha un pannello di controllo (cPanel, BeAdmin, aaPanel, CloudPanel, ecc.), puoi creare un utente FTP dedicato manualmente tramite SSH. Ecco come fare.
1. Installare ProFTPD (se non è già installato)
Ubuntu / Debian:
sudo apt update
sudo apt install proftpd-basic -y
CentOS / Rocky / AlmaLinux:
sudo yum install proftpd -y
Una volta installato, avvia il servizio e configuralo per il lancio automatico all'avvio:
sudo systemctl start proftpd
sudo systemctl enable proftpd
2. Limitare gli utenti alla propria home directory (consigliato)
Questo passaggio impedisce agli utenti FTP di navigare al di fuori della cartella assegnata — indispensabile in qualsiasi configurazione multi-utente.
Apri il file di configurazione di ProFTPD:
- Ubuntu/Debian:
sudo nano /etc/proftpd/proftpd.conf - CentOS/Rocky:
sudo nano /etc/proftpd.conf
Aggiungi questa riga alla fine del file:
DefaultRoot ~
Salva e riavvia ProFTPD:
sudo systemctl restart proftpd
I nostri prodotti e servizi
3. Creare l'utente FTP
Un utente FTP non ha bisogno di accesso alla shell — concederglielo sarebbe una falla di sicurezza. Assegneremo /bin/false come shell per mantenere l'accesso bloccato.
- Registra
/bin/falsecome shell valida (se non è già presente):
echo '/bin/false' | sudo tee -a /etc/shells
- Crea l'utente:
sudo useradd ftpuser -d /home/ftpuser -m -s /bin/false
- Imposta una password:
sudo passwd ftpuser
Puoi sostituire
ftpusercon qualsiasi nome utente. La home directory/home/ftpuserverrà creata automaticamente.
4. Restringere i permessi
Per impedire all'utente di modificare qualsiasi cosa al di fuori della cartella di upload designata, limita i permessi in questo modo:
sudo chmod 555 /home/ftpuser
sudo mkdir /home/ftpuser/upload
sudo chown ftpuser:ftpuser /home/ftpuser/upload
L'utente potrà ora caricare file esclusivamente nella sottocartella upload — tutto il resto è in sola lettura.
Alcune cose da tenere a mente
- Quando possibile, preferisci SFTP all'FTP — cifra la connessione, credenziali incluse.
- Non usare mai root per le connessioni FTP, in nessun caso.
- Dopo aver creato l'utente, testa subito la connessione con un client FTP come FileZilla o WinSCP.
- Se devi gestire più utenti FTP, un pannello di controllo (aaPanel, BeAdmin, CloudPanel, cPanel, ecc.) ti farà risparmiare molto tempo.
Aiuto
Hai domande o ti serve una mano? Scrivici tramite il sistema di ticket — siamo sempre qui per aiutarti!