In questo tutorial, ti mostreremo esempi pratici di utilizzo del comando sftp per trasferire file in modo sicuro.
Cos'è SFTP
SFTP sta per Protocollo di trasferimento file sicuro . La "S" a volte sta anche per SSH (o Secure Shell), il tunnel sicuro e crittografato attraverso il quale viene eseguito il servizio di trasferimento file.
SFTP è un metodo popolare per il trasferimento sicuro di file su sistemi remoti. Il sftp
il comando fa generalmente parte del pacchetto OpenSSH.
È stato progettato per estendere SSH v2.0 per migliorare le capacità di trasferimento file sicuro. Inoltre, il sftp
l'interfaccia della riga di comando è simile a ftp
comando.
Qual è la differenza tra FTP e SFTP
Rispetto al tradizionale protocollo FTP, SFTP offre tutte le funzionalità di FTP, ma è più sicuro e più facile da configurare. A differenza di FTP, SFTP utilizza un unico canale di dati e controllo.
Prima di condividere le informazioni tra due computer, SFTP verifica l'identità del client e, una volta stabilita una connessione protetta, invia i dati crittografati.
Quindi, SFTP è preferibile all'FTP in quasi tutti i casi a causa delle sue caratteristiche di sicurezza sottostanti.
Qual è la differenza tra SCP e SFTP
Ti stai già chiedendo:qual è la differenza tra SFTP e SCP? Non funzionano entrambi su SSH?
Ecco la risposta. SCP può essere utilizzato solo per il trasferimento di file e non è interattivo. Allo stesso tempo, SFTP è più elaborato e consente comandi interattivi per creare directory, eliminare directory e file, ecc.
Come utilizzare il comando SFTP
Puoi connetterti a SFTP come menzionato da un client, come FileZilla; in caso contrario, può essere utilizzato all'interno di un'interfaccia a riga di comando utilizzando i comandi di base.
SFTP fornisce anche diversi metodi per l'autenticazione della connessione, come nome utente e password, chiavi SSH o combinazioni.
SFTP, per impostazione predefinita, utilizza la porta 22, che è la porta predefinita per SSH. È un sottosistema di SSH e supporta tutti i meccanismi di autenticazione SSH.
Stabilire una connessione SFTP
Puoi utilizzare SFTP da riga di comando su sistemi Linux o dal terminale macOS.
sftp [REMOTE_USER]@[REMOTE_SERVER]
Ad esempio, se il tuo nome utente è john
, per connetterti al tuo account sull'host myserver.com
, inserisci:
sftp [email protected]
Inserisci la tua password quando richiesto. Se tutto va come previsto, ti verrà presentato il sftp
prompt e puoi iniziare a interagire con il server remoto.
Connected to myserver.com.
sftp>
SFTP su porta diversa da 22
Se il server SSH remoto funziona su una porta SSH personalizzata (non la porta predefinita 22), usa il -P
opzione per specificare la porta SFTP.
sftp -P 2222 [email protected]
Utili comandi SFTP
Se hai bisogno di un rapido cheat sheet, ecco un elenco di tutti i comandi SFTP disponibili. Puoi trovare tu stesso questo elenco semplicemente inserendo la help
o ?
comando.
Comando | Funzione |
---|---|
cd | Cambia la directory sull'host remoto. |
chmod | Cambia i permessi dei file sull'host remoto. |
chown | Cambia il proprietario dei file sull'host remoto. |
uscita | Chiudi la connessione all'host remoto ed esci da SFTP. |
ottenere | Copia un file dall'host remoto al computer locale. |
LCD | Cambia la directory sul computer locale. |
tutto | Elenca il contenuto della directory corrente sul computer locale. |
lmkdir | Crea una directory sul computer locale. |
lpwd | Mostra la directory di lavoro corrente sul computer locale. |
ls | Elenca il contenuto della directory corrente sull'host remoto. |
mkdir | Crea una directory sull'host remoto. |
metti | Copia un file dal computer locale all'host remoto. |
pwd | Mostra la directory di lavoro corrente sull'host remoto. |
rinomina | Rinomina un file sull'host remoto. |
rm | Elimina un file sull'host remoto. |
rmdir | Rimuove una directory sull'host remoto, ma la directory deve essere vuota. |
Trasferimento di file con il comando SFTP
SFTP ti consente di trasferire file tra due macchine in modo sicuro.
Per scaricare un singolo file dal server remoto, usa il get
comando:
sftp> get website-logo.jpg
Fetching /home/john/website-logo.jpg
/home/john/website-logo.jpg 100% 11KB 154.7KB/s 00:00
Per scaricare una directory dal sistema remoto, utilizzare il -r
opzione (ricorsiva).
sftp> get -r images/
Per caricare un file dalla macchina locale al server SFTP remoto, usa il put
comando:
sftp> put website-logo.jpg
Uploading website-logo.jpg to /home/john/website-logo.jpg
dogtoman-tmp-logo.png 100% 11KB 235.4KB/s 00:00
Per caricare una directory locale al server SFTP remoto:
sftp> put -r images/
Ovviamente puoi sperimentare con qualsiasi comando SFTP mostrato nella tabella sopra.
Chiudi la connessione digitando exit
una volta terminato il tuo lavoro.
Conclusione
Ciò copre le basi su come utilizzare SFTP per il trasferimento di file sicuro. Questo tutorial mostra come utilizzare il comando sftp per scaricare e caricare file sul tuo server SFTP remoto.
Ci auguriamo che questo articolo ti aiuti a comprendere l'utilizzo di SFTP in una certa misura. Per ulteriori informazioni su sftp
comando in Linux, consulta la sua pagina del manuale.
Sentiti libero di lasciare un commento se hai domande o feedback.