Secure copy (ang. bezpieczne kopiowanie) lub SCP oznacza bezpieczny transfer plików pomiędzy lokalnym a zdalnym lub między zdalnymi komputerami, używając protokołu Secure Shell (SSH). Skrót SCP odnosi się do dwóch powiązanych ze sobą rzeczy: protokół SCP oraz polecenie scp.
Kopiowanie pliku ze zdalnej maszyny na lokalną:
scp uzytkownik@zdalny.com:plik.txt /home/slav
Kopiowanie z hosta lokalnego na zdalny
scp plik.txt uzytkownik@zdalny.com:/katalog/docelowy
Kopiowanie katalogu z maszyny lokalnej na zdalnego hosta
scp -r katalog uzytkownik@zdalny.com:/katalog/docelowy
Kopiowanie z jednego zdalnego hosta na drugi
scp uzytkownika@host.com:/scieka/plik.txt uzytkownik2@drugi.com:/docelowy
Kopiowanie dwóch plików z lokalnego hosta na docelowy
scp plik1.txt plik2.txt uzytkownika@zdalny.com:L/katalog
Kopiowanie pliku na innego hosta po innym porcie niż domyślny
scp -P 2211 plik.txt uzytkownik@host.com:/katalog
Kopiowanie wielu plików na raz ze zdalnego hosta
scp uzytkownik@zdalny.com:/katalog/{plik1.txt,plik2.txt} .
I dwie sztuczki na przyspieszenie SCP
Domyślnie scp korzysta z algroytmu Tiple-DES cipger do kodowania informacji. Jest on dosyć powolny, jeżeli zmienimy go na Blowfish można uzyskać spore przyspieszenie. Wystarczy dodać parametr -c
scp -c blowfish plik.txt zdalny@serwer.com:~
Druga opcja to -C która uruchamia kompresję przesyłanych plików. Optymalnie jest więć skorzystać z obu opcji:
scp -c blowfish -C plik.txt uzytkownik@zdalny.com:~
Ostatni element którego mi brakowało, to użycie klucza publicznego do logowania:
scp -o IdentityFile=klucz.pem
źródło: hyperx.org
Aktulizacja 2018
Mac OS X – kompresja:
scp -C
Klucz
-i /.../xxx.pem