logo

Cum să copiați în siguranță fișiere în Linux | Comanda scp

scp Comanda (copiere securizată) în sistemul Linux este utilizată pentru a copia fișiere între servere într-un mod sigur. Comanda SCP sau copia securizată permite transferul securizat de fișiere între gazda locală și gazda la distanță sau între două gazde la distanță. Folosește aceeași autentificare și securitate ca și în Protocolul Secure Shell (SSH). . SCP este cunoscut pentru simplitatea, securitatea și disponibilitatea preinstalată.

Sintaxa comenzii scp în Linux

Sintaxa de bază a comenzii scp în Linux este următoarea:



scp [options] [[user@]host1:]source_file_or_directory ... [[user@]host2:]destination>

În această sintaxă:

  • options> : Acestea sunt diverse opțiuni care modifică comportamentul comenzii SCP, cum ar fi-i>pentru specificarea unui fișier de identitate,-l>pentru limitarea lățimii de bandă,-o>pentru specificarea opțiunilor SSH,-P>pentru specificarea unui port SSH personalizat și-S>pentru specificarea unui program de utilizat pentru conexiunea criptată.
  • [[user@]host1:]source_file_or_directory> : Acesta reprezintă fișierul sau directorul sursă. Poate fi local sau pe o mașină la distanță specificată deuser@host1:>.
  • ...> : Aceasta indică faptul că puteți specifica mai multe fișiere sursă sau directoare.
  • [[user@]host2:]destination> : Aceasta este destinația în care vor fi copiate fișierele sau directoarele. Poate fi local sau pe o mașină la distanță specificată deuser@host2:>.

Opțiuni în comanda scp în Linux

Cel mai frecvent utilizate Opțiuni în comanda scp în Linux.

Opțiuni Descriere
-P port: Specifică portul de conectat la gazda la distanță.
-p Păstrează timpii de modificare, timpii de acces și modurile din fișierul original.
-q Dezactivează contorul de progres.
-r Copiați recursiv directoare întregi.
-s Numele programului de utilizat pentru conexiunea criptată. Programul trebuie să înțeleagă opțiunile ssh(1).

Exemplu practic pentru a copia în siguranță un fișier în Linux

Cuprins



Cum să copiați în siguranță un fișier de pe o mașină locală pe o mașină la distanță în Linux

Sintaxă:

scp [file_name] remoteuser@remotehost:/remote/directory>

Aici

  • file_name = Numele fișierului care trebuie copiat.
  • remoteuser =Numele de utilizator al gazdei la distanță.
  • remotehost = Adresa IP sau numele gazdei gazdei la distanță.
  • /remote/directory = Directorul în care fișierul ar trebui să fie copiat pe mașina de la distanță.

De exemplu: Dacă vrem să copiem un nume de fișier test.txt din sistemul local pe un



  • remoteuser = Jayesh
  • remotehost = 10.143.90.2
  • /remote/directory = /home/jayesh

Sintaxă:

scp test.txt [email protected]:/home/jayesh>

fișier copiat din sistemul local în sistemul de la distanță

Pentru a verifica: Utilizați ` ls ` comanda în locația în care am copiat fișierul.

Fișierul pe care l-am copiat

Cum să copiați în siguranță un fișier de la mașina de la distanță pe mașina noastră locală

sintaxă:

scp user@remotehost:/home/user/file_name>

Aici

  • utilizator = numele de utilizator al sistemului la distanță.
  • remotehost = adresa IP (sau numele de gazdă) a sistemului la distanță.
  • /home/user/file_name = calea fișierului care trebuie copiat.
  • . = asta înseamnă că copiem acel fișier în locația curentă din sistemul local.

De exemplu: Daca avem

  • utilizator=jayesh
  • remotehost = 10.143.90.2
  • home/user/file_name = home/jayesh/test1.txt

sintaxă:

scp [email protected]:/home/jayesh/test1.txt>

fișier copiat de la sistemul de la distanță în sistemul local folosind scp

A verifica: utilizare tu (în Windows cmd)

test1.txt a fost copiat cu succes

Opțiunea -P în comanda scp

Este folosit pentru a copia în siguranță fișierul pe o mașină la distanță pe un port SSH nestandard și pentru a specifica portul de conectat pe gazda la distanță. Este util atunci când noastre SSH serverul ascultă pe un port non-standard.

Sintaxă:

scp -P port source_file user@hostname:destination_file>

De exemplu: Dacă dorim să copiem un fișier test2.txt de pe o mașină locală pe o mașină la distanță cu adresa IP 10.143.90.2 pe portul 2222, utilizator = jayesh și locație = /home/jayesh/.
În mod implicit, scp folosește ssh peste portul 22 pentru transferul fișierelor. Schimbarea portului poate fi necesară dacă portul desemnat 22 nu este deschis pe gazda la distanță.

sintaxă:

scp -P 2222 test2.txt [email protected]:/home/jayesh/>

copierea fișierului din sistemul local la distanță folosind opțiunea -P în scp

A verifica: Utilizare `ls` comanda în sistem la distanță în locația în care am copiat fișierul.

test2.txt a fost copiat cu succes

-p Opțiunea în comanda scp

Această opțiune este folosită atunci când dorim metadatele originale ale fișierului care a fost transferat. Practic, păstrează timpul de modificare, timpul de acces și modurile din fișierul original.

Sintaxă:

scp -p source_file user@hostname:destination_file>

De exemplu: Dacă vrem să copiem un fișier test3.txt de pe o mașină locală pe o mașină la distanță cu adresa IP 10.143.90.2, utilizator = jayesh și locație = /home/jayesh/

Sintaxă:

scp -p test3.txt [email protected]:/home/jayesh/>

copierea fișierului din sistemul local la distanță folosind opțiunea -p în scp

-q Opțiunea în comanda scp

Copiază în siguranță fișierul cu Modul silențios – Dezactivarea contorului de progres . Această opțiune ascunde progresul transferului de fișiere pe terminal.

Sintaxă:

scp -q source_file user@hostname:destination_file>

De exemplu: Dacă dorim să copiem un fișier test4.txt de pe o mașină locală pe o mașină la distanță cu adresa IP 10.143.90.2, utilizator = jayesh și locație = /home/jayesh/

Sintaxă:

scp -q test4.txt [email protected]:/home/jayesh/>

După cum vedem, nu există niciun progres

A verifica: Utilizați comanda `ls` în sistemul de la distanță în locația în care am copiat fișierul.

test4.txt a fost copiat cu succes

-r Opțiune în comanda scp

Această opțiune este folosită atunci când dorim să copiem un întreg director si continutul acestuia. Ceea ce înseamnă, practic, copierea întregului director în mod recursiv.

Sintaxă:

scp -r Directory_name user@hostname:destination_file>

De exemplu: Dacă dorim să copiem un nume de conținut director nou de pe o mașină locală pe o mașină la distanță cu adresa IP 10.143.90.2, utilizator = jayesh și locație = /home/jayesh/new1/

Sintaxă:

scp -r new [email protected]:/home/jayesh/new1/>

copierea întregului director și fișierul acestuia în mod recursiv folosind `-r` în scp

A verifica: Utilizați comanda `ls` în sistemul de la distanță în locația în care am copiat fișierul.

directorul nou a fost copiat cu succes.

Întrebări frecvente despre comanda scp în Linux

Ce este comanda scp -r în Linux?

Thescp -r>comanda în Linux este folosită pentru a copia un întreg director și conținutul acestuia. Această opțiune permite copierea recursivă a fișierelor din directorul specificat. Iată un exemplu:

scp -r username@source_machine:/path/to/source/directory username@destination_machine:/path/to/destination/>

Această comandă copiază recursiv toate fișierele și subdirectoarele din directorul sursă la destinația specificată.

Ce este comanda scp în Linux.?

Thescp>comanda în Linux este folosită pentru a copia fișiere sau directoare între gazde printr-o rețea și utilizează protocolul SSH (Secure Shell) pentru transferul securizat de fișiere. Iată un exemplu de copiere a unui fișier de pe o mașină locală pe un server la distanță:

scp /path/to/local/file username@remote_machine:/path/to/destination/>

Această comandă transferă în siguranță fișierul specificat pe mașina de la distanță.

Ce este comanda scp inversă în Linux?

Nu există inversscp>comandă în Linux. Thescp>comanda este concepută în mod inerent pentru a copia fișiere dintr-o sursă (locală sau la distanță) la o destinație (locală sau la distanță). Nu există o comandă specifică pentru copierea fișierelor în sens invers. Dacă doriți să copiați un fișier dintr-o locație de la distanță în sistemul dvs. local, utilizați în continuare cel obișnuitscp>comanda.

python generează uuid

De exemplu:

scp username@remote_machine:/path/to/source/file /path/to/local/destination/>

Această comandă copiază fișierul specificat de pe mașina de la distanță la destinația locală.

Cum folosesc comanda scp pentru a copia în siguranță fișiere între două mașini Linux?

Pentru a copia fișiere în siguranță între mașinile Linux, utilizați următoarea sintaxă:

scp [options] [destination]>

De exemplu:

scp username@source_machine:/path/to/source/file username@destination_machine:/path/to/destination/>

Care sunt opțiunile comune utilizate cu scp pentru transferul securizat de fișiere?

Unele opțiuni comune utilizate cu scp includ:

  • -r>: Copiați recursiv directoare întregi.
  • -P port>: Specificați portul la care să vă conectați pe gazda de la distanță.
  • -i identity_file>: Specificați fișierul cheii private pentru autentificare.
  • -v>: Activați modul verbose pentru rezultate detaliate în timpul transferului.

Cum pot copia fișiere de pe o mașină locală pe un server la distanță folosind scp?

Pentru a copia fișiere de pe o mașină locală pe un server la distanță, utilizați următoarea sintaxă:

scp /path/to/local/file username@remote_machine:/path/to/destination/>

Cum îmbunătățesc securitatea transferurilor de fișiere scp?

Pentru a spori securitatea în timpul transferurilor scp, luați în considerare:

  • Folosind autentificarea cu cheie SSH pentru autentificare fără parolă.
  • Specificarea unui port care nu este implicit pentru securitate suplimentară (-P port>opțiune).
  • Restricționarea accesului prin setarea permisiunilor corespunzătoare pentru fișiere în directoarele sursă și destinație.

Cum se specifică portul SSH în Linux pentru scp?

Pentru a specifica portul SSH în Linux pentruscp>, folosești-P>opțiune urmată de numărul portului. The-P>flag vă permite să definiți un port personalizat pentru conexiunea SSH, ceea ce este util atunci când serverul SSH de pe mașina de la distanță operează pe un port care nu este implicit.

Iată un exemplu:

scp -P your_file.txt user@remote_server:/path/to/destination/>

În această comandă:

  • Înlocuiește ` `> cu numărul real al portului pe care doriți să-l utilizați pentru conexiunea SSH.
  • `your_file.txt`> este fișierul pe care doriți să îl copiați.
  • `user`> este numele de utilizator de pe serverul de la distanță.
  • `remote_server`> este adresa sau numele de gazdă al serverului la distanță.
  • `/path/to/destination/`> este directorul de destinație de pe serverul de la distanță unde doriți să copiați fișierul.

Folosind ` -P`> urmată de numărul portului dorit, vă asigurați că ` scp`> se conectează la serverul de la distanță folosind portul specificat pentru operația de copiere securizată.

Concluzie

În acest articol am discutat desprescp>comandă în Linux, care este o modalitate sigură și simplă de a copia fișiere între computere printr-o rețea. Utilizează protocolul Secure Shell (SSH) pentru siguranță și este cunoscut pentru simplitatea sa. Articolul a explicat sintaxa de bază, opțiunile comune și a oferit exemple pentru copierea fișierelor, păstrarea metadatelor și transferul în siguranță a directoarelor întregi. De asemenea, a răspuns la întrebări obișnuite, cum ar fi cum să copiați directoare și fișiere invers și a împărtășit sfaturi pentru îmbunătățirea securității în timpul transferurilor. Per total,scp>este un instrument la îndemână pentru gestionarea transferurilor de fișiere într-un mod sigur și eficient pe sistemele Linux.