In questa guida, ti mostreremo come configurare un server SFTP utilizzando VSFTPD su Ubuntu 20.04 Focal Fossa. Se non l'hai già fatto, dai un'occhiata al nostro tutorial su Come configurare il server FTP su Ubuntu 20.04 Focal Fossa con VSFTPD, poiché questo articolo su SFTP presume che tu abbia applicato la configurazione trattata nella guida FTP.
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 riga di comando
- Come connettersi al server SFTP tramite riga di comando
Come configurare il server SFTP su Ubuntu 20.04 Focal Fossa Linux
Categoria | Requisiti, convenzioni o versione del software utilizzata |
---|---|
Sistema | Installato o aggiornato Ubuntu 20.04 Focal Fossa |
Software | VSFTPD, demone SSH |
Altro |
|
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 con il seguente comando:
$ 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:
$ sudo nano /etc/ssh/sshd_config
- Scorri fino alla fine del file e aggiungi le seguenti 5 righe alla fine:
File di configurazione SSHMatch 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. - Riavvia il servizio SSH per rendere effettive queste nuove modifiche:
$ sudo systemctl restart ssh
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 Adding group `sftp' (GID 1002) ... Done.
- Quindi, crea un nuovo utente. Chiameremo semplicemente il nostro
sftpuser
in questo esempio. Assicurati anche di aggiungere questo utente asftp
gruppo.$ sudo useradd -m sftpuser -g sftp
- Imposta una password per il
sftpuser
appena creato :$ sudo passwd sftpuser New password: Retype new password: passwd: password updated successfully
- 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; 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:$ sftp [email protected] The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established. ECDSA key fingerprint is SHA256:9HZflwSB64J+SELGLczOuv3f06gT/3ZaZAOezVZn2XQ. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts. [email protected]'s password: Connected to 127.0.0.1. sftp>
- 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 utilizzare il tuo client SFTP preferito o quello integrato in Ubuntu per impostazione predefinita:il file manager Nautilus.
- 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.
Connettiti al server SFTP con Nautilus - Inserisci le credenziali dell'account SFTP che abbiamo configurato in precedenza e fai clic su Connetti. Immettere le credenziali dell'account SFTP per connettersi
- Dopo una connessione riuscita, sarai in grado di aprire la tua home directory e vedere la directory di prova che hai creato in precedenza. Connessione riuscita al server SFTP
Conclusione
Nell'articolo sul server FTP, abbiamo visto come utilizzare VSFTPD per creare un server FTP su Ubuntu 20.04 Focal Fossa. 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.