Come usare il comando SFTP per trasferire file

postato in: Articles | 0

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.

Non confondere SFTP con FTPS. Entrambi i protocolli hanno lo stesso scopo. Tuttavia, FTPS sta per FTP Secure, ed è un’estensione del protocollo FTP standard con supporto per TLS.,

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 helpo ?.,

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

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *