In questo tutorial, ti mostreremo come configurare un server SFTP su Ubuntu 22.04 Jammy Jellyfish.
FTP è un ottimo protocollo per l'accesso e il trasferimento di file, ma ha il difetto di essere un protocollo di testo in chiaro . In altre parole, non è sicuro utilizzarlo 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.
In questo tutorial imparerai:
- Come installare e configurare il demone SSH
- Come configurare un account utente e un gruppo SFTP
- Come connettersi al server SFTP tramite GUI
- Come connettersi al server SFTP tramite riga di comando

Categoria | Requisiti, convenzioni o versione del software utilizzata |
---|---|
Sistema | Ubuntu 22.04 Jammy Medusa |
Software | Demone SSH |
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 |
Configura il demone SSH
- SFTP richiede SSH, quindi se il server SSH non è già installato sul tuo sistema, installalo aprendo un terminale a riga di comando ed eseguendo i seguenti comandi:
$ sudo apt update $ sudo apt install ssh
- Una volta installato SSH, è necessario apportare alcune modifiche al file di configurazione SSHD. Usa nano o il tuo editor di testo preferito per aprirlo con i privilegi di root:
$ sudo nano /etc/ssh/sshd_config
- Scorri fino alla fine del file e aggiungi le seguenti 5 righe alla fine:
Match group sftp ChrootDirectory /home X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
Le righe sopra consentiranno agli utenti in
sftp
gruppo per accedere alle loro directory home tramite SFTP, ma nega loro il normale accesso SSH, quindi non possono mai accedere a una shell. Dopo aver incollato quelle righe, salva e chiudi il file di configurazione. - Esegui il comando seguente per riavviare il servizio SSH affinché queste nuove modifiche abbiano effetto:
$ sudo systemctl restart ssh
Con SSH configurato correttamente, possiamo passare alla configurazione di un account SFTP per un utente.
Crea un account utente SFTP
Ora dobbiamo creare account utente per chiunque desideriamo concedere l'accesso SFTP.
- Crea un nuovo gruppo di utenti chiamato
sftp
. Tutti i nostri utenti SFTP dovranno appartenere a questo gruppo.
$ sudo addgroup sftp
- Quindi, crea un nuovo utente. Chiameremo semplicemente il nostro
sftpuser
in questo esempio ma puoi nominarlo come vuoi. Assicurati anche di aggiungere questo utente asftp
gruppo che abbiamo appena creato.$ sudo useradd -m sftpuser -g sftp
- Imposta una password per il
sftpuser
appena creato . Dovrai inserire la nuova password due volte per la verifica.$ sudo passwd sftpuser
- Infine, concediamo l'accesso completo all'utente sulla propria home directory, ma neghiamo l'accesso alla directory a tutti gli altri utenti del sistema:
$ sudo chmod 700 /home/sftpuser/
La nostra configurazione SFTP è completa e ora possiamo accedere per assicurarci che tutto funzioni correttamente.
Accedi a SFTP utilizzando la riga di comando
Puoi accedere tramite SFTP con il nome host o l'indirizzo IP del tuo sistema. Per eseguire il test dallo stesso sistema su cui hai appena configurato SFTP, collegandoti all'indirizzo di loopback 127.0.0.1
funzionerà bene.
- Apri un terminale e accedi utilizzando il
sftp
comando e ilsftpuser
account (o qualsiasi nome tu abbia deciso di utilizzare per il tuo). Ti verrà richiesto di inserire la password che abbiamo configurato nella sezione precedente per questo utente.$ sftp [email protected]
- Vai alla home directory dell'utente, poiché è l'unico posto in cui ha i permessi. Qui, prova a creare una nuova directory per confermare che tutto funzioni come previsto:
sftp> cd sftpuser sftp> mkdir sftp-test sftp> ls sftp-test sftp>
Accedi a SFTP utilizzando la GUI
Se preferisci utilizzare un'applicazione GUI per connetterti al tuo server SFTP, ci sono molte opzioni disponibili. Puoi usare il tuo client SFTP preferito o quello integrato in Ubuntu 22.04 per impostazione predefinita:il file manager Nautilus su GNOME.
- Apri il file manager Nautilus dal menu Applicazioni.
- Fai clic su "Altre posizioni" e inserisci
sftp://127.0.0.1
nella casella "Connetti al server" nella parte inferiore della finestra e fai clic su Connetti. - Inserisci le credenziali dell'account SFTP che abbiamo configurato in precedenza e fai clic su Connetti.
- Dopo una connessione riuscita, sarai in grado di aprire la tua home directory e vedere la directory di test che hai creato in precedenza.
Pensieri conclusivi
Nell'articolo sul server SFTP, abbiamo visto come creare un server SFTP e successivamente accedervi su Ubuntu 22.04 Jammy Jellyfish Linux. Abbiamo anche spiegato come utilizzare la riga di comando e la GUI di Ubuntu per connettersi al server FTP.
In questo articolo, abbiamo visto come proteggere il protocollo FTP impostando SFTP sul nostro sistema. Seguendo le istruzioni in questa guida, i computer sulla tua rete locale o su Internet possono accedere in modo sicuro al tuo sistema per archiviare e recuperare file, tramite la riga di comando o il loro client SFTP preferito.