Są chwile, kiedy chcesz przesłać pliki między systemem lokalnym a serwerem zdalnym. Dostępnych jest kilka protokołów i metod, które umożliwiają bezpieczną obsługę transmisji plików.

Polecenie scp w systemie Linux jest jednym z takich narzędzi, które pomaga użytkownikowi w zdalnym udostępnianiu plików między hostami lokalnymi i zdalnymi. W tym artykule szczegółowo omówimy polecenie scp, jego użycie i kilka dodatkowych funkcji polecenia.

Co to jest komenda Scp

Scp, skrót od Bezpieczna kopia, to narzędzie wiersza polecenia w systemach operacyjnych opartych na systemie Linux, które umożliwia użytkownikowi kopiowanie plików między hostami zdalnymi i lokalnymi. Ponieważ polecenie przesyła pliki przez sieć do innego hosta, wymagany jest dostęp przez SSH. SSH (Secure Shell) to protokół, który umożliwia bezpieczną obsługę usług sieciowych w dowolnej sieci.

Polecenie scp obsługuje również pewne dodatkowe funkcje, takie jak określanie parametrów uwierzytelniania, zmiana portu, przesyłanie katalogów i inne.

instagram viewer

Dlaczego SCP jest lepsze niż inne metody

Scp jest zwykle preferowany w stosunku do innych metod przesyłania plików, ponieważ podczas przesyłania połączenie między dwoma hostami jest szyfrowane. Protokół SSH jest odpowiedzialny za szyfrowanie plików, haseł i wszelkich innych poufnych informacji.

Inne metody przesyłania, takie jak Telnet lub FTP, nie mają żadnego szyfrowania. Ponadto para kluczy użytkownika / hasła jest również zapisywana w postaci zwykłego tekstu, co wcale nie jest dobrą praktyką. Cracker może łatwo uzyskać dostęp do twoich informacji, węsząc twoją sieć.

Jak bezpiecznie przesyłać pliki za pomocą Scp

Za pomocą polecenia scp możesz przesyłać pliki między:

  1. Host lokalny i host zdalny
  2. Zdalny host i system lokalny
  3. Dwa zdalne hosty

Podstawowa składnia

Podstawowa składnia polecenia scp to:

scp [opcje] [źródło] [miejsce docelowe]

Transfer z lokalnego hosta do systemu zdalnego

Jeśli jesteś administratorem serwera, przydatne może być przesyłanie plików między hostem lokalnym a hostami zdalnymi. Aby przesłać plik o nazwie document.txt do zdalnego hosta:

scp /home/document.txt user @ remote-host: /home/document.txt

Zauważ, że źródłem jest ścieżka do pliku w lokalnej pamięci. A miejscem docelowym jest ścieżka do pliku na zdalnym hoście. Musisz również określić nazwę użytkownika i nazwę domeny zdalnego serwera. W powyższym poleceniu użytkownik to nazwa użytkownika i zdalny host to nazwa domeny.

Ścieżka docelowa jest oddzielona od szczegółów hosta zdalnego przy użyciu rozszerzenia dwukropek postać (:). Pamiętaj, że użytkownik musi istnieć na serwerze zdalnym, jeśli chcesz pomyślnie przesłać pliki. Ponadto użytkownik powinien mieć prawo zapisu do katalogu, w którym chcesz zapisać plik.

Po wydaniu powyższej komendy system poprosi Cię o podanie hasła zdalnego użytkownika. Wpisz hasło i naciśnij Wchodzić.

hasło użytkownika @ zdalnego hosta:

Jeśli hasło jest prawidłowe, transfer pliku zostanie zainicjowany. Jeśli wprowadziłeś nieprawidłowe hasło, wystąpi błąd.

Przed próbą skopiowania pliku za pomocą polecenia scp upewnij się, że dane zdalnego hosta i hasło są poprawne, logując się do serwera za pomocą protokołu SSH.

Z hosta zdalnego do hosta lokalnego

Aby skopiować pliki ze zdalnego hosta do lokalnego, po prostu zamień ścieżkę źródłową i docelową w poleceniu scp.

scp user @ remote-host: /home/document.txt /home/document.txt

System ponownie zapyta o hasło zdalnego użytkownika. Wprowadź hasło, aby potwierdzić proces transferu.

Między dwoma zdalnymi hostami

Aby skopiować pliki między dwoma zdalnymi serwerami, zarówno ścieżka źródłowa, jak i docelowa muszą być katalogami na zdalnych hostach.

scp użytkownik1 @ zdalny-host1: /home/document.txt użytkownik2 @ zdalny-host2: /home/folder/document.txt

Ponownie pojawi się monit z prośbą o wprowadzenie hasła dla każdego z dwóch użytkowników.

Opcje wiersza poleceń SCP

Oprócz prostego przesyłania plików ze źródła do miejsca docelowego, scp ma kilka dodatkowych opcji, które można wywołać przy użyciu określonych argumentów.

Zmień port

Domyślnie polecenie scp działa na porcie 22. Jednak zawsze możesz nadpisać domyślną konfigurację i zmienić port. Plik -P flaga pozwala zrobić to samo.

Aby użyć innego numeru portu podczas kopiowania plików z hosta lokalnego do hosta zdalnego:

scp -P 35 /home/document.txt user @ remote-host: /home/document.txt

Wyżej wymienione polecenie zapewni, że polecenie scp używa portu 35 do przesyłania plików.

Zachowaj sygnatury czasowe plików

Możesz to wiedzieć Linux ustawia sygnatury czasowe dla każdego pliku do przechowywania czasu modyfikacji, czasu dostępu i czasu zmiany skojarzonego z plikiem. Kiedy przesyłasz plik do innej lokalizacji przy użyciu scp, sygnatury czasowe pliku docelowego są zastępowane przez aktualny czas.

Jeśli z jakiegoś powodu chcesz zachować te sygnatury czasowe, użyj rozszerzenia -p flaga. Zauważ, że -P i -p flagi różnią się od siebie.

scp -p /home/document.txt user @ remote-host: /home/remote/document.txt

Kopiuj katalogi

Jeśli chcesz skopiować katalogi zamiast plików, użyj rozszerzenia -r flaga do rekurencyjnego transferu katalogów.

scp -r użytkownik @ zdalny-host: / home / videos / home / videos

Tryb tłumiony

Po wprowadzeniu polecenia scp w celu przesłania plików terminal wyświetla pasek postępu i inne powiązane informacje na ekranie. Możesz jednak zrezygnować z przeglądania tych informacji za pomocą pliku -q flaga.

scp -q użytkownik @ zdalny-host: /home/document.txt /home/document.txt

Użyj pliku pary kluczy do uwierzytelnienia

Jeśli chcesz uwierzytelnić połączenie zdalnego hosta przy użyciu pliku pary kluczy, określ ścieżkę do pliku przy użyciu rozszerzenia -ja flaga.

scp -i /home/keypair.pem /home/document.txt user @ remote-host: /home/document.txt

Łączenie wielu flag razem

Podobnie jak w przypadku każdego innego polecenia Linuksa, możesz połączyć wiele argumentów, aby polecenie scp było bardziej skuteczne.

Na przykład, aby zmienić port i przesyłać pliki w trybie ukrytym:

scp -P 34 -q użytkownik @ zdalny-host: /home/document.txt home / document.txt

Jeśli chcesz użyć pliku pary kluczy do uwierzytelnienia i musisz skopiować katalogi do ścieżki docelowej:

scp -i /home/secret/keypair.pem -r / home / folder user @ remote-host: / home / folder

Transfer plików między systemami Linux

W świecie internetu przesyłanie plików między systemami stało się podstawowym zadaniem. Dla tych, którzy zarządzają serwerami Linux, czasami ważne jest, aby wykonać kopię zapasową serwera przed wydaniem określonego polecenia. W takich sytuacjach przydaje się polecenie scp.

Podobnie, polecenie cp pomaga w kopiowaniu plików z jednej lokalizacji do drugiej w systemie lokalnym. Istnieje wiele podstawowych poleceń, które są niezbędne, jeśli dopiero zaczynasz korzystać z Linuksa.

E-mail
Arkusz informacji o poleceniach Linuksa

Ta prosta ściągawka pomoże Ci w mgnieniu oka poczuć się komfortowo z terminalem wiersza poleceń Linuksa.

Czytaj dalej

Powiązane tematy
  • Linux
  • Zarządzanie plikami
  • Linux
  • SSH
O autorze
Deepesh Sharma (33 opublikowane artykuły)

Deepesh jest młodszym edytorem Linuksa w MUO. Treści informacyjne pisze w internecie od ponad 3 lat. W wolnym czasie pisze, słucha muzyki i gra na gitarze.

Więcej od Deepesh Sharma

Zapisz się do naszego newslettera

Dołącz do naszego biuletynu, aby otrzymywać wskazówki techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Jeszcze jeden krok…!

Potwierdź swój adres e-mail w wiadomości e-mail, którą właśnie wysłaliśmy.

.