Sconto del 50%. tutti i piani, tempo limitato. A partire da $2.48/mo
12 minuti rimasti
Server e sistema operativo

SCP da remoto a locale – Comandi SCP Linux

Ada Lovegood By Ada Lovegood 12 minuti di lettura
scp da remoto a locale

Hai mai desiderato trasferire alcuni file su una rete di computer e affrontare problemi di sicurezza? Beh, non puoi semplicemente buttare i tuoi file in rete e desiderare che rimangano protetti e al sicuro, come Cappuccetto Rosso! Hai bisogno di misure di sicurezza. Dovresti utilizzare un protocollo di trasferimento file che garantisca che i tuoi dati siano protetti da accessi non autorizzati, sniffing di rete, violazioni dei dati e altri tipi di minacce.

Secure Copy Protocol (SCP) è un potente protocollo di rete per il trasferimento di file che trasferisce file tra diversi computer su una rete. In questo post del blog acquisiremo maggiore familiarità con questo protocollo ed esploreremo le potenzialità dell'utilizzo di SCP da macchine remote a macchine locali.

Come funziona l'SCP? 

SCP utilizza SSH (Secure Shell) per trasferire i tuoi file. Ma cosa significa questo? SSH è un protocollo di rete per l'accesso remoto sicuro ai server. È dotato di metodi per l'autenticazione, la crittografia e la verifica dell'integrità dei file di dati trasmessi. SCP si basa su queste funzionalità di sicurezza e metodi di crittografia forniti da SSH per trasferire file su una rete in modo sicuro. In questo modo, puoi utilizzare SCP da server remoti a server locali per una connessione sicura e un trasferimento di file ed essere sicuro dell'autenticità e della riservatezza dei tuoi dati.

Utilizzo di SCP per i trasferimenti di file; Perché e come? 

Usare SCP da remoto a locale e SCP da locale a remoto è un modo efficiente e flessibile per trasferire file. SCP offre alcuni importanti vantaggi per il trasferimento di file. Ad esempio, SCP offre misure di sicurezza più robuste rispetto ad altri metodi di trasferimento file come FTP. Un altro aspetto in cui SCP si differenzia dagli altri protocolli è la velocità. SCP è solitamente molto più veloce di altri protocolli come SFTP ed è un ottimo strumento per il trasferimento di file tra macchine Linux.

Puoi riposizionare i file con SCP:

  • Da una macchina locale a una macchina remota
  • Da una macchina remota a una macchina locale
  • Da una macchina remota a un'altra macchina remota.

Passiamo ora all'uso effettivo della sintassi SCP di Linux per il trasferimento di file. La prima cosa che devi fare è configurare SSH su entrambi i computer. Tuttavia, è importante notare che SSH è generalmente installato su tutte le macchine Linux. Quindi, se questo è il tuo caso, puoi saltare questi passaggi.

1. Configurazione di SSH

Eseguire il comando seguente per installare SSH:

sudo apt install openssh-client

2. Generazione di chiavi SSH

Il dispositivo client deve quindi stabilire una connessione SSH. Una connessione sicura tra macchine client e server necessita di una chiave privata e di una chiave pubblica per essere stabilita. Questo comando crea una coppia di chiavi SSH per te:

ssh-keygen

durante l'esecuzione di questo comando, probabilmente ti verrà chiesto di fornire un nome per la coppia di chiavi e una passphrase (questo è facoltativo). Quindi, quando viene creata la coppia di chiavi, è necessario copiare la chiave pubblica sul computer server.

Ora diamo un’occhiata alla forma generale del comando SCP:

scp [options] [source username@IP]:/[directory/file name] [destination username@IP]:/[directory]
  • [opzioni] > Questa prima parentesi può essere sostituita con diverse opzioni del comando SCP di cui parleremo più avanti.
  • [nomeutente@IP di origine] > Questa parentesi deve essere sostituita con il nome utente e l'indirizzo IP del computer locale. Ad esempio: [email protected]
  • [nome directory/file] > Questa parentesi deve essere sostituita con la posizione del file che desideri inviare.
  • [nome utente@IP di destinazione] > Questa parentesi deve essere sostituita con il nome utente e l'indirizzo IP della macchina ricevente.
  • [directory] > Sostituisci questa sezione con la posizione desiderata del file sul computer remoto.

Quindi, ora sai come si presenta il comando generale. Diamo un'occhiata a tutte le opzioni utili del comando SCP:

Opzione Caso d'uso
-C
Utilizzando questa opzione, SCP comprime i tuoi file durante il trasferimento.
-c <cifra>
Puoi usare questa opzione per dire a SCP di usare un codice specifico. Ad esempio, scp -c <aes128-ctr>.
-v
Questa opzione ti offre un flusso passo passo del processo.
-l <limite in kilobyte>
Questa opzione consente di impostare un limite per la larghezza di banda massima. Ad esempio, l'esempio seguente imposta l'utilizzo della larghezza di banda su 100 kb al secondo: scp -l 100
-P
Utilizzando questa opzione, puoi modificare la porta ssh del server remoto a cui desideri connetterti. SCP utilizza la porta 22 per impostazione predefinita.
-S <nome programma>
È possibile utilizzare questa opzione per scegliere un programma per la connessione.
-r
Copia un intero file o una directory in modo ricorsivo.

Trasferimento di file con SCP 

Quindi, ti ricordi che abbiamo tre tipi di trasferimenti con SCP, giusto? Ora vogliamo esplorare ciascun tipo di trasferimento in modo dipendente. Ma definiamo la missione prima di iniziare. Ho questa foto di gatto sul desktop del mio computer Linux e, come primo passo, voglio trasferirla su un server remoto Linux. Quindi lo trasferirò nuovamente sul mio computer locale. E infine, il gatto fortunato si sposterà tra due macchine remote.

trasferire un'immagine utilizzando scp

SCP da locale a remoto 

Utilizzando questo comando trasferirai il nostro file da un computer locale a un server remoto:

scp [path/to/the/file] [Username]@[IP address]:[path/to/the/location]

Per utilizzare il comando scp con password è necessario inserire la password del server remoto. E poi il gioco è fatto.

Utilizzo di SCP per trasferire file da locale a remoto

SCP da remoto a locale

Per invertire questo processo, non è necessario accedere al terminale del tuo server remoto. Sul terminale del tuo computer locale, digita questo comando:

scp [username]@[IP address of the remote machine]:[path/to/the/file] [path/to/the/location]

Come puoi vedere, abbiamo appena invertito le due parti di questo comando.

Utilizzo di SCP per trasferire file da remoto a locale

SCP tra due macchine remote

Ora trasferiamo il gatto tra due macchine remote. Questo passaggio richiede la password per entrambi i computer remoti, quindi assicurati di averli. Utilizzare questo comando per trasferire un file tra due computer remoti:

scp [username of the 1st remote machine]@[IP address of the 1st remote machine]:[path/to/the/file] [username of the 2nd remote machine]@[IP address of the 2nd remote machine]:/[path/to/location]

utilizzando scp per trasferire file tra due sistemi remoti

Altri comandi SCP comuni

I comandi SCP più comuni sono scp da remoto a locale, scp da locale a remoto e SCP tra due host remoti. Ma non fermiamoci qui ed esploriamo qualche altro utile esempio di scp Linux.

1. Copia ricorsiva di un'intera directory

Immagina di voler trasferire un'intera directory con tutti i file in essa contenuti. Sarebbe davvero dispendioso in termini di tempo trasferire questi file uno per uno. Invece, puoi utilizzare il comando scp multiple files per copiare una directory in modo ricorsivo:

scp -r [Path/to/directory] [username of the remote server]@[Ip address]:/[path/to/the/location]

Questo può essere utile per molti scenari:

  • Distribuzione del codice: quando distribuisci codice o applicazioni web, potrebbe essere necessario trasferire un'intera directory con tutti i suoi componenti come file e script.
  • Backup e sincronizzazione: SE vuoi avere un backup di un'intera directory o se vuoi sincronizzare due directory sulla macchina locale e sul server remoto, devi copiare tutto in modo ricorsivo.
  • Migrazione del sistema: Un compito cruciale nella migrazione del sistema è copiare e trasferire ogni informazione vitale. L'uso del comando SCP con l'opzione -r ti assicurerà di non perdere nulla nel processo di spostamento.

2. Limitazione dell'utilizzo della larghezza di banda

Se desideri controllare la velocità con cui vengono trasferiti i tuoi dati, puoi utilizzare il seguente comando:

scp -l <limit> [path/to/the/file] [Username]@[IP address]:[path/to/the/location]

Perché dovresti farlo però?
In questi due scenari, puoi utilizzare la sintassi scp di Linux per impostare un limite alla larghezza di banda:

  • Congestione della rete: Se la tua rete è molto congestionata, limitare la larghezza di banda con scp può aiutare con la distribuzione delle risorse di rete. La limitazione della larghezza di banda con SCP garantisce che altre attività relative alla rete vengano eseguite senza problemi. Ciò è importante anche quando si trasferiscono file su una rete condivisa e il processo può ostacolare le attività di rete di altri utenti.
  • Trasferimenti in background: Durante i trasferimenti SCP in background come i backup automatizzati o i processi di sincronizzazione, c'è la possibilità che queste attività divorino le risorse di rete. In questo caso, puoi limitare la larghezza di banda su questi processi di trasferimento per gestire meglio le risorse.

3. Ottenere un registro dettagliato

L'utilizzo dell'opzione -v con SCP ti fornirà un registro dettagliato di informazioni aggiuntive sul processo di trasferimento. È possibile utilizzare il comando seguente per ottenere feedback e informazioni dettagliate:

scp -v [path/to/the/file] [Username]@[IP address]:[path/to/the/location]

Ecco perché è necessario ricordare e utilizzare questo comando:

  • Risoluzione dei problemi: utilizzando questa opzione viene visualizzato l'avanzamento del trasferimento in azione. Puoi visualizzare informazioni come la dimensione del file e la percentuale di completamento. Fornisce inoltre messaggi di errore e avvisi. La combinazione di questi dati consente di monitorare e risolvere i problemi del processo di trasferimento quando necessario.

4. Specificare una porta SSH

L'uso della sintassi scp di Linux con l'opzione -P ti consente di farlo cambiare la porta SSH. Ecco il comando che ti consente di farlo:

scp -P [port number] [path/to/the/file] [Username]@[IP address]:[path/to/the/location]

Questo può essere utile per:

  • Configurazione del firewall: Se la porta SSH predefinita è limitata o se desideri nascondere il servizio SSH da potenziali minacce, puoi modificare la porta SSH.

Esistono alternative all'SCP?

SCP è veloce e sicuro e, conoscendo la corretta sintassi scp di Linux e alcune conoscenze sulla risoluzione dei problemi, può essere l'unico strumento di cui hai bisogno. Tuttavia, non c’è nulla di male nel rivedere le sue alternative.

1. sincronizzazione

rsync è uno strumento versatile per il trasferimento di file con funzionalità di sincronizzazione avanzate, trasferimenti incrementali e copia remota e locale. Può anche ridurre l'utilizzo della larghezza di banda trasferendo solo le differenze tra file di origine e destinazione. Un altro grande vantaggio dell'utilizzo di rsync è che può riprendere i trasferimenti di file interrotti da dove si erano interrotti e continuare il processo.

rsync Pro

  • Sincronizzazione efficiente di file e directory.
  • Supporta l'algoritmo di trasferimento delta, riducendo il trasferimento dei dati.
  • Può riprendere i trasferimenti interrotti.

rsync Contro

  • Richiede che rsync sia installato sia sul sistema di origine che su quello di destinazione.
  • Richiede più opzioni di configurazione e comando rispetto a scp.

2. SFTP (protocollo di trasferimento file SSH)

SFTP fornisce un modo sicuro per trasferire file su SSH. Offre funzionalità simili a FTP ma funziona su una connessione SSH crittografata, proprio come SCP. Ma in alcune aree, i vantaggi dell’SFTP superano quelli dell’SCP. SCP non può generare elenchi di directory, creare o eliminare directory, ecc. SFTP, tuttavia, può eseguire tutte queste attività.

Professionisti dell'SFTP

  • Trasferimento file sicuro con crittografia.
  • Funzionalità di gestione file remota.
  • Ampia disponibilità sulla maggior parte dei sistemi Linux e Unix.

Contro SFTP

  • La sintassi e l'utilizzo dei comandi differiscono dall'FTP tradizionale.
  • Potrebbe avere un supporto limitato su determinati sistemi o dispositivi incorporati.

3. FTP (protocollo di trasferimento file)

FTP è un protocollo standard ampiamente utilizzato per il trasferimento di file. Funziona in un modello client-server e offre funzionalità di trasferimento file di base.

Professionisti dell'FTP

  • Ampio supporto su varie piattaforme.
  • Sono disponibili la riga di comando e i client grafici familiari.

Svantaggi dell'FTP

  • Manca di crittografia/meno sicuro rispetto a scp e sftp.
  • Potrebbe richiedere una configurazione aggiuntiva del firewall per stabilire le connessioni.
  • Autenticazione in testo semplice.

Nel complesso, sebbene scp sia una scelta semplice e affidabile per il trasferimento sicuro di file su SSH, alternative come rsync, sftp e FTP possono offrire funzionalità e flessibilità aggiuntive a seconda dei requisiti specifici.
Allora come decidere quale scegliere? Dovresti considerare fattori quali sicurezza, esigenze di sincronizzazione, facilità d'uso e compatibilità con i tuoi sistemi e protocolli. Ad esempio, se la sicurezza e la riservatezza dei dati sono i fattori più importanti nel trasferimento dei file, l'FTP non è una buona scelta.

Conclusione 

SCP è uno strumento veloce e sicuro per il trasferimento di file tra computer. Puoi utilizzare scp da remoto a locale, da locale a remoto e persino tra due sistemi remoti per trasferire file. E sebbene esistano alternative a SCP che svolgono un lavoro adeguato, come rsync, le trascendono in molti modi, soprattutto in termini di sicurezza e velocità. In questo post del blog abbiamo parlato di SCP, dei suoi casi d'uso e delle alternative e abbiamo anche fornito un foglietto illustrativo per un facile accesso alla sintassi utilizzata di frequente.

Domande frequenti 

Ci sono problemi di sicurezza di cui dovrei essere consapevole quando utilizzo SCP da remoto a locale?  

SCP è uno strumento piuttosto sicuro e protetto e non devi preoccuparti delle minacce alla sicurezza durante l'utilizzo. Tuttavia, è sempre consigliabile adottare tutte le misure di sicurezza aggiuntive possibili.

Quali sono alcuni errori comuni che si verificano quando si utilizza SCP da remoto a locale? 

Quando si utilizza SCP per trasferire file da un server remoto a un computer locale, gli utenti potrebbero riscontrare diversi errori comuni. Ecco due degli errori più comuni nell'utilizzo di SCP da remoto a locale:

  1. Nessun file o directory di questo tipo: questo errore si verifica quando non hai specificato il numero di porta corretto, le impostazioni di autorizzazione del file non sono corrette o quando le informazioni di accesso non sono corrette.
  2. Verifica della chiave host non riuscita: questo messaggio di errore viene visualizzato quando la chiave host è cambiata a causa degli aggiornamenti del server. La chiave host mostra che ti sei già connesso a quel server e, quando la verifica della chiave host fallisce, indica che l'identità del server è cambiata. Questo errore sta cercando di proteggerti dalla connessione a un server fraudolento.

Come posso utilizzare SCP per trasferire file tra sistemi remoti?

Per trasferire con successo file tra sistemi utilizzando SCP, entrambi i computer devono essere accessibili tramite SSH. sono inoltre necessari l'indirizzo IP e la password delle macchine remote. Il resto sta semplicemente usando il comando SCP giusto:

scp [username of the 1st remote machine]@[IP address of the 1st remote machine]:[path/to/the/file] [username of the 2nd remote machine]@[IP address of the 2nd remote machine]:/[path/to/location]

Dopo aver digitato questo comando, ti verrà chiesto di fornire la password ai server. Successivamente, il tuo file verrà trasferito.

Condividere

Altro dal blog

Continua a leggere.

Le migliori app self-hosted che puoi eseguire con Cosmos Cloud Immagine di copertina con pannelli delle app attorno a un dashboard Cosmos.
Server e sistema operativo

Le migliori app self-hosted che puoi eseguire con Cosmos Cloud: file, contenuti multimediali, password, automazione e altro!

Forse hai configurato Cosmos Cloud e ora vuoi vedere quali app si adattano bene ad esso, o forse non hai ancora deciso su Cosmos e vuoi solo vedere se si adatta bene al tuo ambiente di lavoro.

Nick ArgentoNick Argento 16 minuti di lettura
Copertina di Portainer e Cosmos Cloud per la gestione delle app Docker con diagramma di configurazione ibrida e operazioni al neon e blocchi di accesso.
Server e sistema operativo

Portainer vs Cosmos Cloud: la soluzione migliore per la gestione delle app Docker

Se conosci già Docker e desideri semplicemente un modo più semplice per eseguire uno stack di app in crescita, ecco la risposta breve a Portainer vs Cosmos Cloud. Portainer è la scelta più forte per direc

Nick ArgentoNick Argento 14 minuti di lettura
Cosmos Cloud vs CasaOS vs Umbrel presenta un grafico che mostra tre percorsi self-hosted all'interno di un mondo astratto di rete cloud.
Server e sistema operativo

Cosmos Cloud vs CasaOS vs Umbrel: quale piattaforma self-hosted si adatta alla tua configurazione?

La risposta breve è che CasaOS è ancora il punto di partenza più semplice, Umbrel ha l'atmosfera più pulita e curata e Cosmos Cloud ha più senso quando si desidera un controllo più stretto sul dominio.

Nick ArgentoNick Argento 11 minuti di lettura

Pronti per la distribuzione? A partire da $ 2,48 al mese.

Cloud indipendente, dal 2008. AMD EPYC, NVMe, 40 Gbps. Rimborso entro 14 giorni.