Android

Jak używać polecenia scp do bezpiecznego przesyłania plików

Secure Copy Vulnerability (SCP) - Computerphile

Secure Copy Vulnerability (SCP) - Computerphile

Spisu treści:

Anonim

SCP (Secure Copy) to narzędzie wiersza polecenia, które pozwala bezpiecznie kopiować pliki i katalogi między dwiema lokalizacjami.

Za pomocą scp możesz skopiować plik lub katalog:

  • Z systemu lokalnego do systemu zdalnego Od systemu zdalnego do systemu lokalnego Między dwoma systemami zdalnymi z systemu lokalnego.

Podczas przesyłania danych za pomocą scp zarówno pliki, jak i hasło są szyfrowane, dzięki czemu nikt, kto szpieguje ruch, nie jest wrażliwy.

W tym samouczku pokażemy, jak korzystać z polecenia scp poprzez praktyczne przykłady i szczegółowe objaśnienia najczęściej używanych opcji scp.

Składnia polecenia SCP

Zanim przejdziemy do korzystania z polecenia scp , zacznijmy od przeglądu podstawowej składni.

Składnia polecenia scp ma następującą postać:

scp SRC_HOST:]file1 DEST_HOST:]file2

  • OPTION - opcje scp, takie jak szyfr, konfiguracja ssh, port ssh, limit, kopiowanie rekurencyjne… itp. SRC_HOST:]file1 - plik źródłowy. DEST_HOST:]file2 - plik docelowy

Pliki lokalne należy określić przy użyciu ścieżki bezwzględnej lub względnej, a nazwy plików zdalnych powinny zawierać specyfikację użytkownika i hosta.

scp zapewnia szereg opcji, które kontrolują każdy aspekt jego zachowania. Najczęściej używane opcje to:

  • -P Określa port ssh zdalnego hosta. -p Zachowuje modyfikację plików i czasy dostępu. -q Użyj tej opcji, jeśli chcesz ukryć wskaźnik postępu i komunikaty inne niż błędy. -C . Ta opcja zmusi scp do kompresji danych podczas wysyłania ich do maszyny docelowej. -r Ta opcja każe scp rekurencyjnie kopiować katalogi.

Zanim zaczniesz

Polecenie scp opiera się na ssh do przesyłania danych, więc wymaga klucza ssh lub hasła do uwierzytelnienia w zdalnych systemach.

Dwukropek ( scp to sposób, w jaki scp rozróżnia lokalne i zdalne lokalizacje.

Aby móc kopiować pliki, musisz mieć przynajmniej uprawnienia do odczytu pliku źródłowego i uprawnienia do zapisu w systemie docelowym.

Zachowaj ostrożność podczas kopiowania plików o tej samej nazwie i lokalizacji w obu systemach, scp nadpisze pliki bez ostrzeżenia.

Podczas przesyłania dużych plików zaleca się uruchomienie polecenia scp w sesji ekranowej lub sesji tmux.

Kopiuj pliki i katalogi między dwoma systemami za pomocą scp

Skopiuj plik lokalny do systemu zdalnego za pomocą polecenia scp

Aby skopiować plik z lokalnego do zdalnego systemu, uruchom następującą komendę:

scp file.txt [email protected]:/remote/directory

Gdzie file.txt to nazwa pliku, który chcemy skopiować, remote_username to użytkownik na zdalnym serwerze, 10.10.0.2 to adres IP serwera. Katalog /remote/directory jest ścieżką do katalogu, do którego chcesz skopiować plik. Jeśli nie określisz zdalnego katalogu, plik zostanie skopiowany do zdalnego katalogu domowego użytkownika.

Zostaniesz poproszony o podanie hasła użytkownika i rozpocznie się proces przesyłania.

[email protected]'s password: file.txt 100% 0 0.0KB/s 00:00

Pominięcie nazwy pliku z lokalizacji docelowej powoduje skopiowanie pliku z oryginalną nazwą. Jeśli chcesz zapisać plik pod inną nazwą, musisz podać nową nazwę pliku:

scp file.txt [email protected]:/remote/directory/newfilename.txt

Jeśli SSH na zdalnym hoście nasłuchuje na porcie innym niż domyślny 22, możesz określić port za pomocą argumentu -P :

scp -P 2322 file.txt [email protected]:/remote/directory

Polecenie skopiowania katalogu jest bardzo podobne do kopiowania plików. Jedyną różnicą jest to, że musisz użyć flagi -r do rekurencji.

Aby skopiować katalog z systemu lokalnego do zdalnego, użyj opcji -r :

scp -r /local/directory [email protected]:/remote/directory

Skopiuj plik zdalny do systemu lokalnego za pomocą polecenia scp

Aby skopiować plik ze zdalnego do systemu lokalnego, użyj zdalnej lokalizacji jako źródła i lokalizacji lokalnej jako miejsca docelowego.

Na przykład, aby skopiować plik o nazwie file.txt ze zdalnego serwera o IP 10.10.0.2 uruchom następującą komendę:

scp [email protected]:/remote/file.txt /local/directory

Skopiuj plik między dwoma zdalnymi systemami za pomocą polecenia scp

W przeciwieństwie do rsync , używając scp , nie musisz logować się na jednym z serwerów, aby przesyłać pliki z jednego na inny zdalny komputer.

Następujące polecenie skopiuje plik /files/file.txt ze zdalnego hosta host1.com do katalogu /files na zdalnym hoście host2.com .

scp [email protected]:/files/file.txt [email protected]:/files

Zostaniesz poproszony o podanie haseł dla obu kont zdalnych. Dane zostaną przesłane bezpośrednio z jednego zdalnego hosta na drugi.

Aby skierować ruch przez maszynę, na której wydano polecenie, użyj opcji -3 :

scp -3 [email protected]:/files/file.txt [email protected]:/files

Wniosek

W tym samouczku nauczyłeś się, jak używać polecenia scp do kopiowania plików i katalogów.

Możesz także skonfigurować uwierzytelnianie oparte na kluczu SSH i połączyć się z serwerami Linux bez wprowadzania hasła.

terminal scp