SFTP (SSH File Transfer Protocol) è un protocollo di file sicuro che viene utilizzato per accedere, gestire e trasferire file su un trasporto SSH crittografato.
Rispetto al protocollo FTP tradizionale, SFTP offre tutte le funzionalità di FTP, ma è più sicuro e più facile da configurare.
A differenza di SCP , che supporta solo i trasferimenti di file, SFTP consente di eseguire una serie di operazioni su file remoti e riprendere i trasferimenti di file.
In questo tutorial, vi mostreremo come utilizzare il comando Linux sftp
.,
Prima di iniziare #
Per poter trasferire file tramite SFTP è necessario disporre del permesso di scrittura sul sistema remoto.
Quando si trasferiscono file di grandi dimensioni, si consiglia di eseguire il comandosftp
all’interno di una sessione screen o tmux.
La directory da cui si esegue il comando sftp
è la directory di lavoro locale.
Stabilire una connessione SFTP #
SFTP funziona su un modello client-server. È un sottosistema di SSH e supporta tutti i meccanismi di autenticazione SSH.
Per aprire una connessione SFTP a un sistema remoto, utilizzare il comando sftp
seguito dal nome utente del server remoto e dall’indirizzo IP o dal nome di dominio:
sftp remote_username@server_ip_or_hostname
Se ci si connette all’host utilizzando l’autenticazione tramite password, verrà richiesto di inserire la password utente.,
una Volta connesso, ti verrà presentato con il sftp
prompt dei comandi, e si può iniziare a interagire con il server remoto:
Connected to remote_username@server_ip_or_hostname.sftp>
Se il server SSH remoto non è in ascolto sulla porta 22 , utilizzare il tag -P
opzione per specificare la porta SFTP:
sftp -P custom_port remote_username@server_ip_or_hostname
SFTP Comandi #
la Maggior parte dei SFTP comandi sono simili o identici ai comandi della shell di Linux.
Per ottenere un elenco di tutti i comandi SFTP disponibili, digitare help
o ?
.,
help
in Questo modo, l’uscita di una lunga lista di tutti i comandi disponibili, tra cui una breve descrizione di ogni comando:
Available commands:bye Quit sftpcd path Change remote directory to 'path'......version Show SFTP version!command Execute 'command' in local shell! Escape to local shell? Synonym for help
la Navigazione con SFTP #
Quando si è connessi al server remoto, la directory di lavoro corrente è l’utente remoto home directory., Si può controllare che digitando il comando:
pwd
Remote working directory: /home/remote_username
Per visualizzare l’elenco dei file e delle directory, utilizzare il tag ls
comando:
ls
Per passare a un’altra directory, utilizzare il cd
comando. Ad esempio, per passare alla directory /tmp
digitare:
cd /tmp
I comandi precedenti vengono utilizzati per navigare e lavorare sulla posizione remota.
La shell SFTP fornisce anche comandi per la navigazione locale, le informazioni e la gestione dei file., I comandi locali sono preceduti dalla letteral
.
Ad esempio, per stampare la directory di lavoro locale, digitare:
cd lpwd
Local working directory: /home/local_username
Trasferimento di file con SFTP #
SFTP consente di trasferire file tra due macchine in modo sicuro.
Se si lavora su una macchina desktop, è possibile utilizzare un client SFTP GUI come WinSCP o FileZilla per connettersi al server remoto e scaricare o caricare file.,
Il comando sftp
è utile quando si lavora su un server senza GUI e si desidera trasferire file o eseguire altre operazioni sui file remoti.,
il Download di File con il Comando SFTP #
scaricare un singolo file dal server remoto, utilizzare il tag get
comando:
get filename.zip
L’output dovrebbe essere simile a questo:
Fetching /home/remote_username/filename.zip to filename.zip/home/remote_username/filename.zip 100% 24MB 1.8MB/s 00:13
Quando il download di file con sftp
, i file vengono scaricati nella directory da cui è stato digitato il sftp
comando.,
Se si desidera salvare il file scaricato con un nome diverso, specificare il nuovo nome come secondo argomento:
get filename.zip local_filename.zip
Per scaricare una directory dal sistema remoto, utilizzare il ricorsiva -r
opzione:
get -r remote_directory
Se un trasferimento di file non riesce o viene interrotta, è possibile riprendere utilizzando il reget
comando.,
La sintassi reget
è lo stesso come la sintassi get
:
reget filename.zip
il Caricamento di File con il Comando SFTP #
Per caricare un file dal computer locale al remoto di server SFTP, utilizzare il put
comando:
put filename.zip
L’output dovrebbe essere simile a questo:
Uploading filename.zip to /home/remote_username/filename.zipfilename.zip 100% 12MB 1.7MB/s 00:06
Se il file che si desidera caricare non si trova nella directory di lavoro corrente, usare il percorso assoluto del file.,
Quando si lavora conput
è possibile utilizzare le stesse opzioni disponibili con il comandoget
.
caricare una directory locale, digitare:
put -r locale_directory
Per riprendere un’interruzione di caricamento:
reput filename.zip
le Manipolazioni di File con SFTP #
in Genere, per eseguire operazioni su un server remoto, si vorrebbe connettersi via SSH e fare il vostro lavoro utilizzando la shell di terminale. Tuttavia, in alcune situazioni, l’utente può avere solo accesso SFTP al server remoto.,
SFTP consente di eseguire alcuni comandi di base di manipolazione dei file.,server remoto:
mkdir directory_name
Rinomina un file sul server remoto:
rename file_name new_file_name
Eliminare un file sul server remoto:
rm file_name
Eliminare una directory sul server remoto:
rmdir directory_name
Cambiare i permessi di un file su un sistema remoto:
chmod 644 file_name
Modificare il proprietario di un file su un sistema remoto:
chown user_id file_name
È necessario specificare l’ID utente per il chown
e chgrp
comandi.,
Cambia il proprietario del gruppo di un file remoto con:
chgrp group_id file_name
Una volta terminato il lavoro, chiudi la connessione digitandobye
oquit
.
Conclusione #
In questo tutorial, vi abbiamo mostrato come utilizzare ilsftp
comando per scaricare e caricare file sul server SFTP remoto.
Potresti anche voler impostare un’autenticazione basata su chiave SSH e connetterti ai tuoi server Linux senza inserire una password., Se ci si connette regolarmente agli stessi sistemi, è possibile semplificare il flusso di lavoro definendo tutte le connessioni nel file di configurazione SSH .
Lascia un commento