androide

Come usare il comando sftp di linux per trasferire file

SCP: Trasferire file over SSH

SCP: Trasferire file over SSH

Sommario:

Anonim

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 :

reget filename.zip

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:

reput filename.zip

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 e chgrp .

    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 sftp