Come configurare il server SFTP in Ubuntu

Come configurare il server SFTP in Ubuntu

SFTP è l'acronimo di "Secure File Transfer Protocol" che viene utilizzato per trasferire i file da un posto a un altro luogo usando Internet e funziona in modo simile a FTP (protocollo di testo file), ma la differenza in entrambi è che SFTP garantisce anche La privacy del file utilizzando il servizio SSH, che protegge i dati del file crittografandolo, in modo che nessuno possa accedere ai dati.

Sebbene abbia il vantaggio di crittografare i dati e trasferimenti nella posizione di destinazione in modo più sicuro, ha anche uno svantaggio; Al raggiungimento della posizione di destinazione, qualsiasi utente può accedervi. Quindi, per renderlo più sicuro, dovremmo limitare gli altri utenti ad accedervi, oltre agli utenti consentiti.

In questo articolo, discuteremo di come installare SFTP in Ubuntu, se non è già installato e come impostarlo utilizzando i semplici comandi di Ubuntu.

Come installare SFTP Server in Ubuntu

Il server SFTP è generalmente installato in Ubuntu per impostazione predefinita, ma se non è già installato, si può installare SSH utilizzando i semplici comandi di Ubuntu. Poiché SFTP utilizza il server SSH, quindi per verificare che il server SFTP sia già installato o no, eseguiremo il comando di seguito:

$ sudo systemctl status ssh

L'output è mostra, ssh non è installato nel nostro Ubuntu, per installarlo, eseguire il seguente comando di Ubuntu:

$ sudo apt install ssh -y

Una volta installato, lo consentiremo di utilizzare il comando SystemCtl:

$ sudo systemctl abilita ssh

Ora, di nuovo usando il comando SystemCtl, avvialo:

$ sudo systemctl avvia ssh

Per verificare l'installazione di SSH controlla il suo stato utilizzando il comando SystemCtl:

$ sudo systemctl status ssh

Lo stato in esecuzione di SSH mostra che è stato installato correttamente.

Come creare un account utente SFTP

Possiamo creare utenti direttamente o creando un gruppo di SFTP e quindi creare utenti per dare loro accesso a SFTP. Per creare un gruppo, ad esempio, lo chiamiamo "SFTP", puoi nominarlo in base alla tua scelta, eseguire quanto segue in un terminale:

$ sudo addGroup SFTP

Per creare un utente, "John", puoi rinominare "John" con il tuo nome utente, eseguire il seguente comando:

$ sudo useradd John

Per la verifica di appena creato dall'utente, eseguire:

$ meno /etc /passwd | Grep John

Per aggiungere una password per questo nuovo utente, eseguire:

$ sudo passwd John

Per spostare l'utente, "John" nel gruppo "SFTP" esegui il comando:

$ sudo usermod -a -g SFTP John

Per verificare che l'utente, John, sia stato aggiunto al gruppo, SFTP, esegui la dichiarazione:

$ GREP SFTP /ETC /GRUPPO

Come creare una directory per trasferimenti di file

Per capire come limitare l'accesso a una directory per altri utenti, creeremo un "documento" di directory in Path /Var /SFTP che sarà di proprietà di Root. Quindi solo l'utente "John" che abbiamo creato può accedere a questa directory e caricare file.

Per fare ciò, in primo luogo, creeremo una directory di "documento" usando il comando MKDIR:

$ sudo mkdir -p/var/sftp/documento

Consenti alla radice, di riconoscere il proprietario di /var /SFTP:

$ sudo chown root: root /var /sftp

Concedere le autorizzazioni di scrittura di questa directory alla stessa directory e consenti ad altri utenti di leggere:

$ sudo chmod 755 /var /sftp

Ora concedi le autorizzazioni del documento all'utente John:

$ sudo chown John: John/var/sfftp/documento

Come configurare il demone ssh

Una volta completata l'installazione, apriremo il file di configurazione del server SSH con qualsiasi editor e configuralo. In questa configurazione, stiamo limitando l'utente, John, alla directory /var /SFTP, e anche nessuno degli altri utenti può accedere a questa directory. Stiamo usando un editor di testo nano per configurarlo in modo da eseguire il seguente comando:

$ sudo nano/etc/ssh/sshd_config

Una volta aperto il file, digita il seguente testo in esso:

Abbina l'utente John
ChrootDirectory /var /SFTP
X11forwarding n
Consentire NO
ForceCommand Internal-Sftp

Quando il file viene aperto, in fondo vedrai il testo "Sottosistema SFTP/USR/LIB/OpenSSH/SFTP-Server", scrivi quelle righe dopo questa riga. La spiegazione di queste cinque righe sono:

  • Abbina l'utente Dice all'SSH di implementare queste modifiche all'utente menzionato, nel nostro caso, è "John"
  • Chrootdirectory Garantisce che l'utente non abbia accesso a nessun'altra directory, tranne per il fatto che la cui parte viene fornita, nel nostro caso è "/var/SFTP"
  • Consentire ilforwarding e X11forwarding abiliterà o disabiliterà il tunneling della porta e il X11forwarding, nel nostro caso, entrambi vengono disabilitati digitando "No"
  • ForceCommand Assicurarsi che SSH esegui il server SFTP solo dopo l'accesso

Una volta apportate le modifiche, salva le modifiche premendo Ctrl+S, quindi termina l'editor premendo Ctrl+X.

Per applicare queste nuove modifiche, riavviare il server SSH utilizzando:

$ sudo systemctl riavvio ssh

Come verificare le configurazioni di restrizione

Per verificare le configurazioni di restrizione, proveremo ad accedere ai file utilizzando il normale comando SSH:

$ ssh John@localhost

L'output mostra che a John non può essere accessibile da nessun altro SSH.

Come accedere al server SFTP usando la riga di comando

Possiamo accedere all'utente protetto dal server SFTP nella riga di comando mediante l'uso dell'indirizzo Loop che è per impostazione predefinita 127.0.0.1, una volta eseguito il comando, chiederà la password impostata per l'utente:

$ SFTP [email protected]

È stato collegato al server SFTP. Elenca le directory di questo utente utilizzando il comando LS:

$ ls

L'output che mostra la directory, documento limitato per questo utente. Ora, questo utente non può accedere a nessun'altra directory diversa da questa.

Come accedere al server SFTP usando GUI

Possiamo anche accedere a SFTP usando la modalità GUI, semplicemente andare nella cartella domestica, scegliere altre posizioni, digitare SFTP: // [email protected] e fare clic su Connect.

Chiederà la password dell'utente, digita la password e fai clic su Sblocca:

Infine, aprirà la directory:

Come rimuovere il server SFTP

Per rimuovere o disinstallare il server SFTP, rimuovere l'SSH utilizzando il comando:

$ sudo apt purge ssh -y

Conclusione

Il server SFTP crittografa il file e lo trasferisce alle destinazioni e decodifica il file lì per comunicare i dati in modo sicuro. La sicurezza è necessaria per il trasferimento di file poiché a volte i file contengono informazioni sensibili che dovrebbero essere consegnate solo alla persona autorizzata, questo può essere fatto con l'aiuto di SFTP. In questo articolo, abbiamo imparato come installare SFTP se non è installato per impostazione predefinita in Ubuntu, allora abbiamo imparato a creare direttamente un utente di SFTP o con l'aiuto del gruppo. Abbiamo anche appreso la funzione di limitare i file solo agli utenti selezionati e di limitare l'utente a quel particolare file in modo che l'utente non possa passare a nessun'altra directory. Infine, abbiamo imparato a rimuovere il server SSH da Ubuntu 20.04.