Installare un server SFTP su Ubuntu passo per passo
Ubuntu è una piattaforma sicura e affidabile su cui configurare un server SFTP. Questa distribuzione Linux offre strumenti e pacchetti integrati che puoi utilizzare per il protocollo SFTP. Nella nostra guida ti mostriamo come installare e configurare un server SFTP su Ubuntu per il trasferimento di dati crittografati.
Server SFTP su Ubuntu: i requisiti di sistema
Se confrontiamo FTP e SFTP, il protocollo SFTP è nettamente la scelta migliore. Basato su FTP, il protocollo SFTP utilizza metodi crittografici per la codifica dei dati. Per l’installazione è quindi necessario utilizzare ulteriori componenti come Secure Shell (SSH). Per configurare un server SFTP sull’attuale versione 22.04 di Ubuntu è necessario soddisfare i seguenti requisiti di sistema:
- Processore (CPU): 2 GHz (dual core)
- Memoria RAM: 4 GB
- Spazio su disco fisso: a seconda delle dimensioni dei dati
- Sistema operativo: Ubuntu, utente con permessi di root
- Pacchetto software: OpenSSH
- Connessione internet per scaricare i pacchetti e collegarsi al server SFTP
Con un server Secure FTP di IONOS puoi accedere a un file hosting sicuro, completo di backup regolari e assistenza 24/7.
Guida: installazione di un server SFTP su Ubuntu
Per installare un server FTP che utilizzi il protocollo SFTP devi controllare innanzitutto che sia installato OpenSSH. I pacchetti sono già disponibili su Ubuntu per impostazione predefinita. Se non lo fossero, puoi ottenere i pacchetti dal repository ufficiale.
Apri il terminale sul tuo sistema Ubuntu ed esegui i seguenti comandi:
Primo passaggio: controllare i pacchetti OpenSSH
Questo comando elenca tutti i pacchetti installati filtrandoli per ssh
:
$ dpkg -l | grep ssh
bashNel nostro esempio, il risultato è il seguente:
Se compare la scritta ii
, significa che i pacchetti sono installati.
Secondo passaggio: installare SSH
Se OpenSSH non è presente, puoi installarlo con il gestore di pacchetti APT:
$ sudo apt install ssh
bashTerzo passaggio: modificare la configurazione di SSHD
Dopo l’installazione è necessario modificare il file di configurazione del demone SSH. Ad esempio è possibile farlo con l’editor Nano:
$ sudo nano /etc/ssh/sshd_config
bashDigita quindi la riga seguente:
Match Group sftpgroup
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
bashIn questo modo gli utenti del gruppo SFTP possono accedere alla loro cartella Home tramite SFTP.
- Hardware dedicato al 100%
- Fatturazione al minuto
- Potenziato dai processori Intel® Xeon® e AMD
Quarto passaggio: riavviare il servizio SSH
Dopo aver modificato il file di configurazione, è necessario riavviare il servizio SSH:
$ sudo systemctl restart sshd
bashQuinto passaggio: creare gli utenti SFTP e il gruppo
Nel passaggio successivo creiamo un nuovo gruppo di nome sftpgroup
e un nuovo utente sftpuser
che, per motivi di sicurezza, può accedere solo al server SFTP su Ubuntu e non al servizio SSH.
$ sudo groupadd sftpgroup
bashIl nuovo utente è assegnato al gruppo SFTP con l’opzione -G
. Con l’opzione -d
si definisce la cartella Home e con -s
si regola l’accesso alla shell.
$ sudo useradd -G sftpgroup -d /srv/sftpuser -s /sbin/nologin sftpuser
bashSesto passaggio: creare la password utente SFTP
Digita una password sicura per l’utente SFTP con il comando passwd
:
$ passwd sftpuser
bashSettimo passaggio: configurare la chroot
La creazione di una cartella chroot ti permette di creare una sandbox per i processi in esecuzione. Per prima cosa devi creare una nuova cartella:
$ mkdir -p /srv/sftpuser
bashQuindi, attribuisci la proprietà della cartella all’utente root con chown
:
$ sudo chown root /srv/sftpuser
bashAssegna i permessi di lettura ed esecuzione al gruppo:
$ sudo chmod g+rx /srv/sftpuser
bashQuindi crea una sottocartella e definisci sftpuser
come proprietario:
$ mkdir -p /srv/sftpuser/data
$ chown sftpuser:sftpuser /srv/sftpuser/data
bashIn questo modo l’utente SFTP può caricare file nella sottocartella “data”, ma dispone solo di permessi limitati nella cartella sftpuser. L’utente dispone di permessi di lettura per quest’ultima cartella, ma per motivi di sicurezza non ha i permessi di scrittura.
Ottavo passaggio: collegamento con il server SFTP su Ubuntu
Per il collegamento con il server SFTP puoi utilizzare la riga di comando SFTP oppure un client FTP dotato di GUI. Nel terminale, digita il comando sftp
, seguito dal nome dell’utente e dell’host oppure dall’indirizzo IP del server SFTP.
$ sftp sftpuser@SERVER-IP
bashSe utilizzi una porta definita dall’utente, puoi specificarla nel modo seguente:
$ sftp -P PORT ftpuser@SERVER-IP
bashSuccessivamente il sistema ti chiede di digitare la password dell’utente SFTP.
Nono passaggio: caricare i file sul server SFTP
Per caricare i file su SFTP utilizza il comando put
.
Prova a trasferire un file nella cartella /
:
put /path/to/file/on/local /
bashSe il comando non va a buon fine, il motivo è che si tratta della cartella chroot: l’utente SFTP non ha permessi di scrittura per questa cartella.
Adesso prova con la cartella data
:
put /path/to/file1/on/local1 /data/
bashDecimo passaggio: visualizzare i file sul server SFTP su Ubuntu
Puoi visualizzare un elenco dei file nella riga di comando SFTP con il comando ls
:
ls /data/
bashQuesta schermata mostra i dati che si trovano sul server SFTP:
Nella nostra guida trovi anche le istruzioni per configurare un server SFTP su Windows.