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
Consiglio

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
bash

Nel nostro esempio, il risultato è il seguente:

ubuntu-sftp-server-openssh-packets.png
Terminale: pacchetti OpenSSH installati

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
bash

Terzo 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
bash

Digita quindi la riga seguente:

Match Group sftpgroup
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
bash

In questo modo gli utenti del gruppo SFTP possono accedere alla loro cartella Home tramite SFTP.

Server dedicati
Performance e innovazione
  • 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
bash

Quinto 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
bash

Il 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
bash

Sesto passaggio: creare la password utente SFTP

Digita una password sicura per l’utente SFTP con il comando passwd:

$ passwd sftpuser
bash

Settimo 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
bash

Quindi, attribuisci la proprietà della cartella all’utente root con chown:

$ sudo chown root /srv/sftpuser
bash

Assegna i permessi di lettura ed esecuzione al gruppo:

$ sudo chmod g+rx /srv/sftpuser
bash

Quindi crea una sottocartella e definisci sftpuser come proprietario:

$ mkdir -p /srv/sftpuser/data
$ chown sftpuser:sftpuser /srv/sftpuser/data
bash

In 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
bash

Se utilizzi una porta definita dall’utente, puoi specificarla nel modo seguente:

$ sftp -P PORT ftpuser@SERVER-IP
bash

Successivamente 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 /
bash

Se 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/
bash

Decimo 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/
bash

Questa schermata mostra i dati che si trovano sul server SFTP:

ubuntu-sftp-server-file-list.png
Terminale: elenco dei file sul server SFTP
Consiglio

Nella nostra guida trovi anche le istruzioni per configurare un server SFTP su Windows.

Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top