scp în Linux / Bash

Copiază fișiere în mod securizat între mașini diferite prin tunel criptat SSH.

Sintaxă comandă
scp [opțiuni] sursă destinație

Ce face scp

Numele scp provine de la secure copy. Folosește aceeași autentificare și criptare ca ssh, dar cu o sintaxă similară comenzii locale cp.

Locațiile de pe serverele la distanță se specifică în formatul utilizator@gazdă:/cale/fișier.

Opțiuni și argumente

Opțiune / Parametru Descriere
-P PORT Portul SSH al serverului (atenție: este P mare, spre deosebire de -p mic la comanda ssh).
-r Copiază recursiv directoare întregi.
-i CALE_CHEIE Cheia privată SSH de autentificare.
-C Activează compresia automată a datelor pe durata transferului de rețea.

Exemple

Exemplul 1: Copierea unui fișier local către un server la distanță

Trimitem o arhivă de cod direct în folderul /var/www/ al serverului.

scp -P 22 site.tar.gz root@51.75.54.136:/var/www/

Ieșire în terminal

site.tar.gz     100%   15MB  25.4MB/s   00:00

Greșeli frecvente

  • Confuzia între -p (păstrare atribute) și -P (portul de conectare în scp).
  • Folosirea scp pentru transferuri mari sau sincronizări repetate; pentru actualizări regulate, comanda rsync este mult mai eficientă deoarece transferă doar diferențele (delta).

Comenzi înrudite

  • ssh: Conectează în siguranță un terminal criptat la distanță pe un alt server Linux.
  • rsync: Sincronizează fișiere și directoare rapid, transferând doar blocurile modificate (transfer delta).
  • cp: Copiază fișiere și directoare de la o locație sursă către o destinație.