Android

Cum se utilizează comanda scp pentru a transfera fișiere în siguranță

► Cum Transferam si Editam Fisiere de pe un Server Linux cu WinSCP ? | Invata Linux Ep. 18

► Cum Transferam si Editam Fisiere de pe un Server Linux cu WinSCP ? | Invata Linux Ep. 18

Cuprins:

Anonim

SCP (copiere securizată) este o utilitate din linia de comandă care vă permite să copiați în siguranță fișierele și directoarele între două locații.

Cu scp , puteți copia un fișier sau director:

  • De la sistemul local la un sistem de la distanță.De la un sistem de la distanță la sistemul dvs. local. Între două sisteme la distanță din sistemul dvs. local.

Când transferați datele cu scp , atât fișierele, cât și parola sunt criptate, astfel încât oricine se va arunca în trafic nu devine nimic sensibil.

În acest tutorial, vă vom arăta cum să utilizați comanda scp prin exemple practice și explicații detaliate ale celor mai comune opțiuni scp.

Sintaxă comandă SCP

Înainte de a intra în modul de utilizare a comenzii scp , să începem prin revizuirea sintaxei de bază.

Sintaxa comenzii scp ia următoarea formă:

scp SRC_HOST:]file1 DEST_HOST:]file2

  • OPTION - opțiuni scp, cum ar fi cifrare, configurare ssh, port ssh, limită, copie recursivă… etc. SRC_HOST:]file1 - Fișier sursă. DEST_HOST:]file2 - fișier destinație

Fișierele locale ar trebui specificate folosind o cale absolută sau relativă, în timp ce numele fișierelor la distanță ar trebui să includă o specificație pentru utilizator și gazdă.

scp oferă o serie de opțiuni care controlează fiecare aspect al comportamentului său. Cele mai utilizate opțiuni sunt:

  • -P Specifică portul SSH de la distanță. -p Păstrează modificarea fișierelor și timpii de acces. -q Folosiți această opțiune dacă doriți să suprimați contorul de progres și mesajele non-eroare. -C . Această opțiune va forța scp să comprimeze datele pe măsură ce acestea sunt trimise către mașina de destinație. -r Această opțiune va spune scp să copieze directiv directoare.

Înainte de a începe

Comanda scp se bazează pe ssh pentru transferul de date, deci necesită o cheie ssh sau o parolă pentru autentificarea pe sistemele de la distanță.

Punctul : () este modul în care scp distinge locațiile locale și cele îndepărtate.

Pentru a putea copia fișierele trebuie să ai cel puțin permisiuni de citire pe fișierul sursă și autorizație de scriere pe sistemul țintă.

Aveți grijă atunci când copiați fișiere care au același nume și locație pe ambele sisteme, scp va suprascrie fișierele fără avertisment.

Când transferați fișiere mari, este recomandat să rulați comanda scp în cadrul unui ecran sau a unei sesiuni tmux.

Copiați fișiere și directoare între două sisteme cu scp

Copiați un fișier local într-un sistem de la distanță cu comanda scp

Pentru a copia un fișier dintr-un sistem local într-un sistem de la distanță, executați următoarea comandă:

scp file.txt [email protected]:/remote/directory

Unde, file.txt este numele fișierului pe care dorim să-l copiem, remote_username este utilizatorul de pe serverul de la distanță, 10.10.0.2 este adresa IP a serverului. Directorul /remote/directory este calea către directorul la care doriți să copiați fișierul. Dacă nu specificați un director la distanță, fișierul va fi copiat în directorul principal al utilizatorului de la distanță.

Vi se va solicita să introduceți parola utilizatorului și procesul de transfer va începe.

[email protected]'s password: file.txt 100% 0 0.0KB/s 00:00

Omiterea numelui de fișier din locația de destinație copiază fișierul cu numele original. Dacă doriți să salvați fișierul sub un alt nume, trebuie să specificați noul nume de fișier:

scp file.txt [email protected]:/remote/directory/newfilename.txt

Dacă SSH pe gazda de la distanță ascultă un alt port decât cel implicit 22, puteți specifica portul folosind argumentul -P :

scp -P 2322 file.txt [email protected]:/remote/directory

Comanda de copiere a unui director este la fel ca la copierea fișierelor. Singura diferență este că trebuie să utilizați steagul -r pentru recursiv.

Pentru a copia un director dintr-un sistem local în sistem de la distanță, utilizați opțiunea -r :

scp -r /local/directory [email protected]:/remote/directory

Copiați un fișier de la distanță într-un sistem local folosind comanda scp

Pentru a copia un fișier dintr-o telecomandă într-un sistem local, utilizați locația la distanță ca sursă și locație locală ca destinație.

De exemplu, pentru a copia un fișier numit file.txt de pe un server la distanță cu IP 10.10.0.2 executați următoarea comandă:

scp [email protected]:/remote/file.txt /local/directory

Copiați un fișier între două sisteme la distanță folosind comanda scp

Spre deosebire de rsync , atunci când utilizați scp , nu trebuie să vă conectați la unul dintre servere pentru a transfera fișiere de la unul la alt aparat la distanță.

Următoarea comandă va copia fișierul /files/file.txt de la gazda de la distanță host1.com în directorul /files pe gazda de la distanță host2.com .

scp [email protected]:/files/file.txt [email protected]:/files

Vi se va solicita să introduceți parolele pentru ambele conturi la distanță. Datele vor fi transferate direct de la o gazdă de la distanță la cealaltă.

Pentru a orienta traficul prin mașina pe care este emisă comanda, utilizați opțiunea -3 :

scp -3 [email protected]:/files/file.txt [email protected]:/files

Concluzie

În acest tutorial, ați învățat cum să folosiți comanda scp pentru a copia fișiere și directoare.

De asemenea, poate doriți să configurați o autentificare bazată pe cheie SSH și să vă conectați la serverele Linux fără a introduce o parolă.

terminalul scp