Ogni volta che lavori con computer o qualsiasi dispositivo elettronico dotato di capacità di archiviazione, potresti dover distribuire o condividere informazioni e file in vari modi.
Alcuni dei file condivisi più comunemente includono file audio, immagini, video, PDF o qualsiasi forma di documento Word.
Il più delle volte, le informazioni condivise saranno private o riservate, il che significa che sono destinate a una persona specifica o a un gruppo di persone, quindi proteggerle è essenziale.
Quando si tratta di dispositivi come i telefoni cellulari, abbiamo app che facilitano il trasferimento di file come xender, appshare o talvolta anche l'uso del bluetooth. Ora, quando si tratta di computer il caso non è diverso, abbiamo software e persino siti che facilitano lo stesso.
Quando si tratta di condividere dati in sistemi operativi come Linux, ci sono più comandi tra cui scegliere per condividere informazioni. Ma oggi ci concentreremo sull'SCP comando. Ti consente di condividere file e dati in modo sicuro e semplice.
Nel divario del mercato odierno, avere competenze su Linux è molto essenziale e utile, a maggior ragione se sei un amministratore di sistema. In quanto amministratore di sistema, la condivisione dei dati sarà tra le tue attività quotidiane e avrai bisogno che i dati vengano condivisi per essere al sicuro, e usando il comando SCP sarai in grado di raggiungere questo obiettivo.
Prima di iniziare, iniziamo col capire cos'è SCP e poi impareremo alcuni comandi che puoi usare per il trasferimento di file.
Cosa sono i comandi SCP?
SCP è l'acronimo di Secure Copy Protocol. È un'utilità della riga di comando che consente all'utente di copiare in modo sicuro file e directory tra due posizioni, di solito tra sistemi unix o linux.
Il protocollo garantisce che la trasmissione dei file sia crittografata per impedire a chiunque abbia intenzioni sospette di ottenere informazioni sensibili.
In parole più semplici possiamo dire che SCP è un'opzione più sicura per il cp
(copia ) comando.
È anche importante notare che SCP utilizza la crittografia su una connessione SSH (Secure Shell), questo assicura che i dati trasferiti siano protetti da attacchi sospetti.
Sintassi SCP
Proprio come qualsiasi altro comando utilizzato nel terminale, anche SCP ha un formato che viene utilizzato per una corretta esecuzione. Comprendendo la sintassi è più facile scrivere i comandi:
scp [OPTIONS] [[user@]src_host:]file1 [[user@]dest_host:]file2
scp
- Inizializza il comando e assicura che sia presente una shell sicura.OPTIONS
- Concedono permessi diversi a seconda di come sono stati utilizzati. Alcune delle opzioni più comuni includono:- P (Maiuscole):specifica la porta per stabilire la connessione con l'host remoto.
- p (minuscolo) - conserva il timestamp per facilitare la modifica e l'accesso.
- r - copia l'intera directory in modo ricorsivo
- q - copia i file in modo silenzioso, non visualizza i messaggi di avanzamento. Conosciuto anche come modalità silenziosa.
- C - per la compressione dei dati durante la trasmissione.
Per saperne di più sulle OPZIONI, leggi le opzioni di scp src_host
- dove è ospitato il file. L'origine può essere un client o un server a seconda dell'origine del file.dest_host
- dove verrà copiato il file.
Dato che abbiamo a che fare con la trasmissione di file, significa sicuramente che ci deve essere il coinvolgimento di più di una macchina per rendere possibile il processo. Siamo in grado di utilizzare SCP nei seguenti casi:
- Copia file all'interno della stessa macchina.
- Copia file da un host locale a un host remoto e viceversa.
- Copia file tra due diversi server remoti.
A questo punto, sarà corretto affermare che prima di utilizzare qualsiasi comando SCP dovrai avere alcune cose a posto:
- SSh installato sia sul client che sul server.
- Accesso root sia ai computer client che a quelli server.
Con due cose pronte sei a posto. Iniziamo vedendo i comandi in azione.
Comandi SCP comuni
Copia file dall'host locale al server remoto
Quando si copiano file, è molto essenziale essere in grado di trasferire file/dati dalla memoria locale al server remoto. Quando usi i comandi SCP dovrai specificare alcune cose affinché ciò avvenga.
Dovrai specificare il percorso del file come origine e anche il percorso dell'host remoto, in cui vengono copiati i file.
Prendiamo uno scenario in cui abbiamo un file test.txt
e dobbiamo copiarlo su un server remoto, il nostro comando sarà simile al seguente:
scp test.txt userbravo@destination:/location2
Non siamo limitati al numero di file che possiamo copiare. Diciamo che siamo sul nostro desktop nella cartella chiamata web dove abbiamo .php
estensioni di file e dobbiamo copiare la home directory del server remoto. Il nostro comando sarà simile a:
scp *.php userbravo@destination_host:/~/
*.php - copia tutti i file con estensione .php nella cartella attualmente specificata.
/~/ - significa copiarli nella home directory.
Supponiamo che tu voglia copiare un file chiamato test.txt e salvarlo con un nome diverso nel server remoto questa volta usando un'opzione di porta. Il comando sarà:
scp -P 8080 test.txt userbravo@destination_host:/user/home/test2.txt
In questo esempio abbiamo copiato un file test.txt dalla macchina locale in remoto dove verrà salvato come test2.txt usando la porta 8080.
Copia file da remoto a locale
Un modo migliore per capirlo è usare un esempio. Prendi uno scenario in cui desideri copiare file dal sistema remoto. Per copiare i file dovrai prima invocare l'SCP, seguito dal nome utente remoto@indirizzo IP, percorso del file.
Se non si specifica il percorso, si assume come default in questo caso che sarà la home directory dell'utente, a questa verrà seguito il percorso dove il file verrà archiviato localmente.
La sintassi
scp file <remote_username>@<IPorHost>:<PathToFile> <LocalFileLocation>
Diciamo che volevo copiare un file chiamato linuxcheatsheet dal dispositivo remoto con questo indirizzo 192.168.1.100 .
Il cheatsheet di linux il file è archiviato nella home directory dell'utente kali, l'utente che autenticherò. Quindi dopo i due punti non ho bisogno di specificare il percorso perché è quello predefinito, che è la home directory, e scrivo solo il nome del file ("linuxcheatsheet"). Quindi, specifico la directory corrente come posizione locale in cui archiviare il file digitando un punto.
scp linuxcheatsheet [email protected]: .
Copia file da un host remoto a un altro
Il bello dell'utilizzo di SCP nel trasferimento di file è che non solo consente la connessione tra macchine locali, ma consente anche di connettersi a server remoti.
Supponiamo di voler copiare un file chiamato test.txt, su un altro server remoto il comando sarebbe simile al seguente:
scp [email protected]:/files/test.txt [email protected]:/files
Quello che farà questo comando è copiare test.txt dalla cartella dei file in user1 e crearne una replica in user2 che gira su host2.com ancora nella cartella dei file.
Copia di più file
Quando si copiano più file, è sufficiente specificare il nome del file come percorso di origine. per esempio.
La sintassi
scp file1 file2 ... user@<ip_address_of_user>: Destination
Supponiamo di voler copiare i file 1,2,3 e 4. Il comando sarebbe simile al seguente:
scp file1.txt file2.txt file3.txt file4.txt [email protected]:/home/user/Desktop
Punti da asporto:
- Per poter copiare i file, devi avere i permessi di lettura sul file di origine e di scrittura sul sistema di destinazione.
- Il comando SCP si basa su SSH per il trasferimento sicuro dei dati, il che significa che richiede una password per l'autenticazione su sistemi remoti.
- Fai attenzione quando copi file con lo stesso nome e posizione, poiché SCP li sovrascriverà senza avvisarti.
- Per essere in grado di distinguere tra località locali e remote, usa i due punti : completi .
Concludi
Che tu sia un ingegnere del supporto, un amministratore di sistema o anche uno sviluppatore in crescita come me che usa Linux o vuole impararlo, è probabile che a un certo punto dovrai trasferire i file. E conoscere questi semplici comandi SCP tornerà utile.
In questo articolo, abbiamo trattato alcuni degli scenari più comuni in cui vorresti utilizzare SCP e speriamo che tu abbia imparato qualcosa di nuovo.
Divertiti con la codifica ❤