#Linux – SCP czyli kopiowanie plików przez SSH

Jak kopiować pliki przez SSH? Dowiedz się, jak kopiować pliki z komputera na serwer oraz jak kopiować pliki z serwera na komputer w systemie Linux. Dowiedz się także, jak kopiować pliki pomiędzy dwoma serwerami. Wykorzystamy do tego polecenie SCP.

Nazwa SCP to skrót od Secure copy, odnosi się do dwóch powiązanych ze sobą rzeczy: protokołu SSH i polecenia cp. Kopiowanie odbywa się za pomocą protokołu SCP (czyli protokół nazywa się tak samo), który wykorzystuje szyfrowanie podczas transferu, dzięki czemu proces jest zdecydowanie bezpieczniejszy. Protokół nie zapewnia uwierzytelniania, do tego wykorzystywany jest protokół SSH. Sam protokół jest bardzo podobny do protokołu FTP, jednak jego przewagą jest fakt, że jest powszechniejszy (wiele serwerów nie posiada zainstalowanego protokołu FTP) oraz potrafi razem z plikiem przekazać jego atrybuty.

Kopiowanie pliku na serwer z użyciem SCP

Składnia polecenia wygląda następująco:

scp <local_file> <remote_user>@<remote_server>:/<remote_folder>

Jeżeli folder <remote_folder> nie zostanie określony, plik zostanie skopiowany do katalogu domowego zdalnego użytkownika. Przykład użycia:

scp plik.txt [email protected]:/var/

Kopiowanie pliku z serwera z użyciem SCP

Składnia polecenia wygląda następująco:

scp <remote_user>@<remote_server>:/<remote_folder>/<remote_file> <local_file>

Zamiast <local_file> można użyć kropki, aby zapisać plik zdalny plik w folderze lokalnym pod taką samą nazwą. Przykład użycia:

scp [email protected]:/var/plik.txt plik.txt
# lub ekwiwalentnie:
scp [email protected]:/var/plik.txt .

Kopiowanie wielu plików na serwer z użyciem SCP

Składnia polecenia wygląda następująco:

scp <local_file_1> <local_file_2> <remote_user>@<remote_server>:/<remote_folder>

Tak jak wcześniej, jeżeli folder <remote_folder> nie zostanie określony, plik zostanie skopiowany do katalogu domowego zdalnego użytkownika. Przykład użycia:

scp plik1.txt plik2.txt [email protected]:/var/

Kopiowanie wszystkich plików na serwer z użyciem SCP

Składnia polecenia wygląda następująco:

scp * <remote_user>@<remote_server>:/<remote_folder>

Tak jak wcześniej, jeżeli folder <remote_folder> nie zostanie określony, plik zostanie skopiowany do katalogu domowego zdalnego użytkownika. Przykład użycia:

scp * [email protected]:/var/

Kopiowanie wszystkich plików rekursywnie na serwer z użyciem SCP

Składnia polecenia wygląda następująco:

scp -r * <remote_user>@<remote_server>:/<remote_folder>

Polecenie skopiuje wszystkie pliki i foldery znalezione we wskazanych katalogu. Tak jak wcześniej, jeżeli folder <remote_folder> nie zostanie określony, plik zostanie skopiowany do katalogu domowego zdalnego użytkownika. Przykład użycia:

scp -r * [email protected]:/var/

Kopiowanie plików pomiędzy serwerami

Składnia polecenia wygląda następująco:

scp <remote_user1>@<remote_server1>:/<remote_folder1> <remote_user2>@<remote_server2>:/<remote_folder2>

Przykłąd użycia:

scp [email protected]:/var/ [email protected]:/var/