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.
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:
- Host lokalny i host zdalny
- Zdalny host i system lokalny
- 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.
Ta prosta ściągawka pomoże Ci w mgnieniu oka poczuć się komfortowo z terminalem wiersza poleceń Linuksa.
Czytaj dalej
- Linux
- Zarządzanie plikami
- Linux
- SSH
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.
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.