SCP: Trasferire file over SSH
Sommario:
- Prima di iniziare
- Stabilire una connessione SFTP
- Comandi SFTP
- Navigazione con SFTP
- Trasferimento di file con SFTP
- Download di file con il comando SFTP
- Caricamento dei file con il comando SFTP
- Manipolazioni di file con SFTP
- Conclusione
SFTP (SSH File Transfer Protocol) è un protocollo di file sicuro utilizzato per accedere, gestire e trasferire file su un trasporto SSH crittografato.
Rispetto al protocollo FTP tradizionale, SFTP offre tutte le funzionalità di FTP ed è più facile da configurare.
A differenza del
scp command
, che consente solo i trasferimenti di file, il comando
sftp
consente di eseguire una serie di operazioni su file remoti e riprendere i trasferimenti di file.
In questo tutorial, ti mostreremo come usare il comando
sftp
Linux.
Prima di iniziare
Per poter trasferire e gestire i file tramite SFTP è necessario disporre dell'autorizzazione di scrittura sul sistema remoto.
Quando si trasferiscono file di grandi dimensioni, si consiglia di eseguire il comando sftp all'interno di una schermata o di una sessione 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.
Sebbene l'autenticazione con password tradizionale sia impostata per impostazione predefinita e più facile da usare, se ti connetti regolarmente al tuo server tramite SSH / SFTP, si consiglia di creare chiavi SSH e impostare un accesso SFTP senza password.
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 dominio:
sftp remote_username@server_ip_or_hostname
Una volta connesso, ti verrà presentato il prompt
sftp
e potrai iniziare a interagire con il computer remoto:
Connected to remote_username@server_ip_or_hostname. sftp>
Se il server SSH remoto non è in ascolto sulla porta predefinita 22, utilizzare l'opzione
-oPort
per specificare la porta alternativa:
sftp -oPort=custom_port remote_username@server_ip_or_hostname
Comandi SFTP
La maggior parte dei comandi SFTP sono simili o identici ai comandi che useresti nel prompt della shell Linux.
Puoi ottenere un elenco di tutti i comandi SFTP disponibili digitando
help
o
?
.
help
Available commands: bye Quit sftp cd path Change remote directory to 'path'…… version Show SFTP version !command Execute 'command' in local shell ! Escape to local shell ? Synonym for help
Navigazione con SFTP
Quando si è effettuato l'accesso al server remoto, la directory di lavoro corrente è la home directory dell'utente remoto. Puoi verificarlo digitando:
pwd
Remote working directory: /home/remote_username
Per elencare i file e le directory utilizzare il comando
ls
:
ls
Per passare a un'altra directory, utilizzare il comando
cd
. Ad esempio, per passare alla
/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, informazioni e gestione dei file. I comandi locali sono preceduti dalla lettera
l
.
Ad esempio, per stampare la directory di lavoro locale, digitare:
cd lpwd
Local working directory: /home/local_username
Trasferimento di file con SFTP
Con SFTP è possibile trasferire file in modo sicuro tra due macchine.
Il comando
sftp
è utile quando si lavora su un server senza GUI e si desidera trasferire file o eseguire altre operazioni sui file remoti.
Download di file con il comando SFTP
Una volta effettuato l'accesso al server remoto, la directory di lavoro corrente è la home directory dell'utente remoto.
Quando si scaricano file con il comando
sftp
, i file vengono scaricati nella directory da cui è stato digitato il comando
sftp
.
Per scaricare un singolo file dal server remoto, utilizzare il comando
get
:
get filename.zip
L'output dovrebbe assomigliare a questo:
Fetching /home/remote_username/filename.zip to filename.zip /home/remote_username/filename.zip 100% 24MB 1.8MB/s 00:13
get filename.zip local_filename.zip
Per scaricare una directory dal sistema remoto, utilizzare l'opzione
-r
ricorsiva:
get -r remote_directory
Se un trasferimento di file non riesce o viene interrotto, è possibile riprenderlo utilizzando il comando
reget
.
La sintassi di
reget
è la stessa della sintassi di
get
:
Caricamento dei file con il comando SFTP
Per caricare un file dal computer locale sul server SFTP remoto, utilizzare il comando
put
:
put filename.zip
L'output dovrebbe assomigliare a questo:
Uploading filename.zip to /home/remote_username/filename.zip filename.zip 100% 12MB 1.7MB/s 00:06
Se il file che si desidera caricare non si trova nella directory di lavoro corrente, utilizzare il percorso assoluto del file.
Quando lavori con
put
puoi usare le stesse opzioni disponibili con il comando
get
.
Per caricare una directory locale, digitare:
put -r locale_directory
Per riprendere un caricamento interrotto:
Manipolazioni di file con SFTP
In genere, per eseguire attività su un server remoto, ci si connette ad esso tramite SSH e si esegue il proprio lavoro utilizzando il terminale shell. Tuttavia, in alcune situazioni, l'utente può avere solo l'accesso SFTP al server remoto.
SFTP consente di eseguire alcuni comandi di base per la manipolazione dei file. Di seguito sono riportati alcuni esempi su come utilizzare la shell SFTP:
-
Ottieni informazioni sull'utilizzo del disco del sistema remoto:
df
Size Used Avail (root) %Capacity 20616252 1548776 18002580 19067476 7%
Crea una nuova directory sul server remoto:
mkdir directory_name
Rinomina un file sul server remoto:
rename file_name new_file_name
Elimina un file sul server remoto:
rm file_name
Elimina una directory sul server remoto:
rmdir directory_name
Modifica le autorizzazioni di un file sul sistema remoto:
chmod 644 file_name
Cambia il proprietario di un file sul sistema remoto:
chown user_id file_name
È necessario fornire l'ID utente ai comandi
chown
echgrp
.Cambia il proprietario del gruppo di un file remoto con:
chgrp group_id file_name
Una volta terminato il tuo lavoro, chiudi la connessione digitando
bye
o
quit
.
Conclusione
In questo tutorial, ti abbiamo mostrato come usare il comando
sftp
per scaricare e caricare file sul tuo server SFTP remoto.
È inoltre possibile impostare un'autenticazione basata su chiave SSH e connettersi ai server Linux senza immettere una password.
Sentiti libero di lasciare un commento se hai domande o feedback.
terminale sftpCome usare il comando ftp linux per trasferire file
FTP (File Transfer Protocol) è un protocollo di rete standard utilizzato per trasferire file da e verso una rete remota. In questo tutorial, ti mostreremo come usare il comando ftp di linux attraverso esempi pratici.
Come usare il comando sleep di linux per mettere in pausa uno script bash
Sleep è un'utilità della riga di comando che consente di sospendere il processo di chiamata per un periodo di tempo specificato. In questo tutorial, ti mostreremo come usare il comando sleep di Linux.
Come utilizzare il comando scp per trasferire file in modo sicuro
In questo tutorial, ti mostreremo come utilizzare il comando scp attraverso esempi pratici e spiegazioni dettagliate delle opzioni scp più comuni.