Cos'è SFTP?
Simple File Transfer Protocol (SFTP) è un protocollo utilizzato per trasferire file tra due dispositivi su Internet. Funziona su protocolli FTP (File Transfer Protocol) e Secure Shell (SSH).
Mentre il protocollo trasferisce i file, protegge anche dallo sniffing delle password, dagli attacchi man-in-the-middle e dall'esposizione di dati sensibili. Preserva inoltre l'integrità dei dati con l'aiuto della crittografia e delle funzioni di hash crittografico. Autentica inoltre sia il client che il server prima di concedere l'accesso. Ciò consente il trasferimento sicuro dei file.
Guida all'installazione
In questo tutorial, ti mostrerò come puoi facilmente scambiare file tra macchine locali e remote utilizzando questo protocollo di trasferimento file super pratico.
Per questa guida ho usato Linux Mint Cinamon 20.02 come macchina locale e Ubuntu 20.04 LTS come macchina remota.
Il tutorial è diviso in due parti. Nella prima parte vedrai come trasferire un file da una macchina remota a una macchina locale. Nell'altra parte, vedrai come trasferire un file dal tuo computer locale a un computer remoto.
Iniziamo!
Trasferisci file da una macchina remota a una macchina locale
Fase 1:SSH su macchina remota
Il primo passaggio consiste nel creare una connessione SSH alla macchina remota. Per farlo, prima diventa un superutente usando il seguente comando:
sudo -i
Ora che sei diventato un superutente, ssh al computer remoto con cui vuoi comunicare per ottenere il file.
ssh [email protected]
Fase 2:individua il file da trasferire
Quindi, individua il file che desideri copiare. In questo tutorial creerò un nuovo file per trasferirlo sul mio computer locale.
Per farlo, andrò nella directory /etc eseguendo il comando seguente:
cd /etc
Con l'aiuto del comando touch creerò un nuovo file con il nome transfer.txt.
touch transfer.txt
Fase 3:stabilisci una connessione SFTP con la macchina remota
Ora ci connetteremo alla macchina remota usando sftp, come mostrato di seguito:
sftp [email protected]
Se vedi sftp scritto in questo modo, significa che sei in modalità sftp. Ora le macchine locali e remote possono scambiare file usando questo protocollo.
Fase 4:controlla con quali directory sftp interagisce
Prima di procedere al trasferimento dei file, navighiamo un po' per capire con quali directory sftp interagisce. Esegui il comando seguente per conoscere la tua attuale directory di lavoro:
pwd
Per vedere la directory di lavoro attuale della macchina locale, useremo:
lpwd
Possiamo anche cambiare la directory con cui vogliamo interagire. È incluso nella seconda parte di questa guida.
Fase 5:trasferisci il file
Andiamo nella directory /etc dove abbiamo creato il file transfer.txt.
cd /etc
Per inviare un file dalla macchina remota alla macchina locale, utilizziamo il comando get seguito dal nome del file come mostrato di seguito:
get transfer.txt
Ora vai alla directory principale del tuo sistema locale con il seguente comando:
cd ~
Usa ls per vedere tutti i file nella directory.
Come puoi vedere, il file transfer.txt è ora nella nostra macchina locale.
Dopo aver chiuso la sessione sftp, puoi trasferire il file dalla tua directory principale a qualsiasi altra cartella sul tuo computer.
Trasferisci file da una macchina locale a una macchina remota
Ora che abbiamo visto come trasferire un file da una macchina remota a una locale, vediamo come possiamo andare nella direzione opposta.
Abbiamo un altro file test.txt sul nostro computer locale nel seguente percorso di directory:
/home/azifa/Downloads/folder
Da qui lo trasferiremo sulla nostra macchina remota.
Fase 1:connettiti alla macchina remota tramite SFTP
sftp [email protected]
Fase 2:cambia la directory locale con cui sftp interagisce
La directory di lavoro attuale locale è:
lpwd
Come ti ho detto prima, possiamo cambiare la directory locale con cui vogliamo che sftp interagisca. Per farlo, usa il comando lcd:
lcd /home/azifa/Downloads/folder
Prima di questo, sftp interagiva con la directory principale della macchina locale. Ora interagirà con la directory /home/azifa/Downloads/folder. Puoi confermarlo con il seguente comando:
lpwd
Fase 4:trasferisci il file
Successivamente, utilizziamo il comando put per trasferire il file dalla macchina locale alla macchina remota.
Esegui il comando ls per vedere se il file è stato trasferito con successo nella directory /home della macchina remota.
ls
Sì, il file che abbiamo trasferito è qui nella macchina remota.
Ora puoi terminare la sessione con un semplice comando di arrivederci.
bye
In questo articolo, ti ho spiegato con quanta facilità puoi trasferire file tra una macchina remota e una macchina locale con l'aiuto di un protocollo di trasferimento file noto come SFTP. Usando questo metodo, puoi scambiare file di grandi dimensioni in sicurezza poiché è un protocollo sicuro che crittografa i tuoi dati per la protezione.
Per vedere come configurare un server ProFTPD su Linux Mint 20, visita:
https://linuxways.net/mint/install-proftpd-on-linux-mint-20/