Jak używać SCP

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.

Nigdy nie pamiętam składni jak potrzebuję, krótka ściąga kombinacji kopiowania w każdą stronę:

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 wiedzy: hyperx.org

Aktulizacja 2018

Mac OS X – kompresja:

scp -C

Klucz

-i /.../xxx.pem