Jeżeli na codzień pracujesz z serwerami z rodziny Linux, prawdopodobnym jest, że wymiana danych pomiędzy maszynami lokalną a zdalną jest czynnością, która niejednokrotnie będzie powtarzać się podczas Twojego dnia roboczego.
Istnieją narzędzia graficzne typu Filezilla, które z pewnością optymalizują wspomniany proces. Ba. Popularne narzędzie Midnight Commander oferuje konsolowy interfejs menadżera plików i katalogów i umożliwia transmisję danych przez np. SFTP.
Co w przypadku gdy w głównej mierze potrzebujemy przesłać lub pobrać pojedyncze pliki lub katalogi z jednej maszyny na drugą, a korzystanie z zaawansowanych narzędzi może być dla nas uciążliwe?
Z pomocą przychodzi SCP, czyli:
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ółu SSH oraz polecenia cp.
Jak przesłać lub pobrać pliki i katalogi via SCP?
- Warunki wstępne
- Przykładowe operacje
Warunki wstępne
W niniejszym artykule posłużymy się parą kluczy SSH w celu autoryzacji na wykorzystywanych maszynach.
Nie posiadasz pary kluczy SSH? Dowiedz się jak ją wygenerować.
Aby wymiana danych pomiędzy maszynami była możliwa, klucz publiczny maszyny, na której wykonujemy polecenia scp musi znajdować się na zdalnej maszynie, z którą wchodzimy w interakcje.
Dowiedz się jak przekazać klucz publiczny SSH na maszynę zdalną.
Przykłady
Przesyłanie plików i katalogów z maszyny zdalnej
By przesłać plik na maszynę zdalną, należy z wiersza poleceń wykonać:
dev@dev: scp /my/file/path/myfile user@host:/my/target/path
W przypadku katalogu, do polecenia należy dodać argument -r:
dev@dev: scp -r /my/dir/path/mydir user@host:/my/target/path
Pobieranie plików i katalogów na maszynę zdalną
By pobrać plik z maszyny zdalnej, należy z wiersza poleceń wykonać:
dev@dev: scp dev@host:/my/file/path/myfile /target/file/path
Aby pobrać katalog:
dev@dev: scp -r dev@host:/my/dir/path/mydir /target/dir/path
Przykładowe dane wyjściowe:
file3 100% 2 0.0KB/s 00:00
file2 100% 16 0.2KB/s 00:00
file1 100% 10 0.1KB/s 00:00
myfile 100% 5 0.1KB/s 00:00