Ricerca nel sito web

Come caricare o scaricare file/directory utilizzando sFTP in Linux


sFTP (secure File Transfer Program) è un programma di trasferimento file sicuro e interattivo, che funziona in modo simile a FTP (File Transfer Protocol). Tuttavia, sFTP è più sicuro di FTP; gestisce tutte le operazioni su un trasporto SSH crittografato.

Può essere configurato per utilizzare diverse utili funzionalità SSH, come l'autenticazione e la compressione della chiave pubblica. Si connette e accede alla macchina remota specificata e passa a una modalità di comando interattiva in cui l'utente può eseguire vari comandi.

In questo articolo, ti mostreremo come caricare/scaricare un'intera directory (comprese le sue sottodirectory e sottofile) utilizzando sFTP.

Come utilizzare sFTP per trasferire file/directory in Linux

Per impostazione predefinita, SFTP adotta lo stesso trasporto SSH per stabilire una connessione sicura a un server remoto. Sebbene le password vengano utilizzate per autenticare gli utenti in modo simile alle impostazioni SSH predefinite, si consiglia di creare e utilizzare l'accesso senza password SSH per una connessione semplificata e più sicura agli host remoti.

Connettiti al server FTP remoto in modo sicuro

Per connettersi a un server SFTP remoto, stabilire prima una connessione SSH sicura e quindi creare una sessione SFTP come mostrato.

sftp [email 

Una volta effettuato l'accesso all'host remoto, puoi eseguire comandi sFTP interattivi come negli esempi seguenti:

sftp> ls			#list directory 
sftp> pwd			#print working directory on remote host
sftp> lpwd			#print working directory on local host
sftp> mkdir uploads		#create a new directory

Come caricare una directory utilizzando sFTP

Per caricare un'intera directory su un host Linux remoto, utilizza il comando put. Tuttavia, riceverai un errore se il nome della directory non esiste nella directory di lavoro sull'host remoto, come mostrato nello screenshot seguente.

Pertanto, crea prima una directory con lo stesso nome sull'host remoto, prima di caricarla dall'host locale, -r fa la magia, consentendo di copiare anche le sottodirectory e i sottofile:

sftp> put -r  linux-console.net-articles
sftp> mkdir linux-console.net-articles
sftp> put -r linux-console.net-articles

Per preservare i tempi di modifica, i tempi di accesso e le modalità dei file originali trasferiti, utilizzare il flag -p.

sftp> put -pr linux-console.net-articles

Come scaricare una directory utilizzando sFTP

Per scaricare un'intera directory chiamata fstools-0.0 dall'host Linux remoto al computer locale, utilizza il comando get con il flag -r come segue:

sftp> get -r fstools-0.0

Quindi controlla nella directory di lavoro corrente sull'host locale, se la directory è stata scaricata con tutti i contenuti al suo interno.

Per completare la shell sFTP, digitare:

sftp> bye
OR
sftp> exit

Inoltre, leggi i comandi sFTP e i suggerimenti sull'utilizzo.

Tieni presente che per impedire agli utenti di accedere all'intero file system sull'host remoto, per motivi di sicurezza, puoi limitare gli utenti sFTP alle loro directory home utilizzando chroot Jail.

Questo è tutto! In questo articolo ti abbiamo mostrato come caricare/scaricare un'intera directory utilizzando sFTP. Utilizza la sezione commenti qui sotto per offrirci le tue opinioni su questo articolo/argomento.