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

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

Ten samouczek wyjaśnia, jak korzystać z SCP (Bezpieczna kopia) Polecenie do przesyłania plików między komputerami.

SCP Polecenie jest dostępne w systemach All Linux, Unix i Windows. Jego wdrożenie będzie na wszelkimi prawdopodobieństwem poprawi i złagodzi wrażenia z sieci.

Bezpieczeństwo jest zapewniane przez ssh protokół.

To polecenie pozwala nam niezawodnie i bezpiecznie przesyłać pliki z komputera na inny. Razem z sftp polecenie, chronione również przez protokół SSH, SCP jest jedną z najbardziej bezpiecznych technik przeniesienia plików.

Po przeczytaniu tego artykułu czytelnik będzie mógł łatwo udostępniać i pobierać pliki z pojedynczymi poleceniami.

Wszystkie praktyczne przykłady w tym samouczku zawierają zrzuty ekranu, dzięki.

Wymagania przed użyciem SCP

Użytkownik pobiera pliki lub przesyła pliki do, musi uruchomić usługę SSH.

Jeśli usługa jest już uruchomiona na serwerze, możesz przejść do następnej sekcji tego artykułu.

Jeśli usługa nie jest uruchomiona, użytkownik może ją zainstalować, postępując zgodnie z poniższymi instrukcjami dla dystrybucji Linux opartych na Debianie i Redhat.

W systemach opartych na Debian, takich jak Ubuntu, usługa SSH można zainstalować za pomocą trafny Menedżer pakietów, jak pokazano na poniższym obrazku.

sudo apt instal ssh

W systemach opartych na Redhat, takich jak CentOS, usługa SSH można zainstalować, uruchamiając następujące polecenie:

DNF Instaluj OpenSsh-Server

Po zakończeniu instalacji na serwerze, z którym chcesz się połączyć, uruchom usługę z Systemctl polecenie, jak pokazano poniżej (systemy oparte na debian).

sudo systemctl start ssh

Rozpocząć ssh Usługa w systemach Redhat wykonuje:

sudo systemctl start sshd

Jak pobierać pliki i katalogi z SCP (Bezpieczna kopia)

W pierwszym praktycznym przykładzie tego samouczka użytkownik pobiera plik o nazwie <plik 1> do jego katalogu domowego.

Ważne jest, aby pamiętać o pobieraniu lub przesłaniu plików wymaga poświadczeń istniejącego użytkownika na komputerze zdalnym.

Składnia do pobrania pliku z SCP jest następująco, gdzie <Zdalny użytkownik> jest istniejącym użytkownikiem na komputerze zdalnym, z którego użytkownik chce pobrać pliki. <IP serwera> Czy adres hosta lub IP serwera przechowującego plik, <Ścieżka/do/plik> to ścieżka do pliku do pobrania i <Lokalny reżysery> to komputerowy katalog lokalny użytkownika, w którym plik jest zapisywany.

SCP @:

W poniższym przykładzie lokalny użytkownik Linux-Hint3 logins jako Linuxhint zdalny użytkownik na serwerze z adresem IP 192.168.0.103 i pobiera plik o nazwie <plik 1> do jego katalogu domowego. Post LS Wykonanie polecenia pokazuje plik 1 jest lokalnie obecny.

SCP [email protected]: File1 ~/

Domyślnie, po zalogowaniu, bieżącym katalogu roboczym zdalnym jest zdalny katalog domowy użytkownika.

-O Flaga jest pomocna w wykonywaniu spuścizny SCP niezbędnej do przesyłania plików za pomocą systemów, które nie zaimplementowały protokołu SFTP.

SCP -O [email protected]: File1 ~/

W poniższym przykładzie użytkownik pobiera plik o nazwie NewFile2, przechowywane pod Pulpit/ Podkazkodmienia. Lokalne miejsce docelowe pliku to bieżący katalog lokalny reprezentowany przez okres.

SCP [email protected]: Desktop/NewFile2 .

Pobieranie katalogów wymaga tylko dodania -R (Rekurencyjna) flaga, jak pokazano na zrzucie ekranu poniżej.

W poniższym przykładzie użytkownik pobiera nazwany zdalny katalog testDir/ do lokalnego wymienionego podkładu informator/.

SCP -R [email protected]: TestDir ~/Directory

-L Flaga umożliwia ograniczenie przeniesienia pobierania w KB/s do kontrolowania przepustowości.

Na poniższym zrzucie ekranu użytkownik ogranicza przepustowość dla przeniesienia do 100 kb/ps. Jak widać, użytkownik używał wieloznacznej karty (*) do pobrania wszystkich plików, których nazwa zaczyna się od „Ubuntu".

SCP -L 100 [email protected]: Ubuntu* ~/

Jeśli użytkownik chce przyspieszyć przeniesienie pliku, może dodać -C do kompresji plików lub katalogów podczas przeniesienia, pozostawiając kopię docelową nieskompresowaną (jeśli źródło było tak).

W poniższym przykładzie użytkownik implementuje -C (Compress) Flaga, aby pobrać wszystkie pliki, począwszy od „Ubuntu„Do lokalnego Pulpit/ Podkazkodmienia.

SCP -C [email protected]: Ubuntu*/home/linux-hint3/Desktop/

-4 Opcja wymusza połączenie za pośrednictwem IPv4 i -6 opcja za pośrednictwem IPv6.

W następnym zrzucie ekranu użytkownik wymusza przeniesienie pliku za pośrednictwem IPv4.

SCP -4 [email protected]: Ubuntu*/home/linux-hint3/Desktop/

Jak przesyłać pliki i katalogi za pomocą SCP

W tej sekcji wyjaśniono, jak przesyłać pliki z pojedynczymi poleceniami za pomocą SCP.

Składnia do przesyłania zwykłych plików do systemu zdalnego za pomocą SFTP jest następująca:

SCP @:

W poniższym przykładzie użytkownik przesyła plik o nazwie plik 1 do zdalnego wymienionego podkładu Dokumenty/.

SCP File1 [email protected]: Dokumenty/

Aby przesłać katalogi, użyj rekurencyjnej -R flaga, reszta składni jest podobna do przykładów opisanych powyżej.

SCP -R Desktop/TestDir [email protected]: Dokumenty/

-O Flaga jest przydatna do przesyłania plików do systemów bez protokołu SFTP.

SCP -or Desktop/TestDir [email protected]: Dokumenty/

Aby przyspieszyć przeniesienie, również podczas przesyłania plików, użytkownik może kompresować.

W poniższym przykładzie użytkownik łączy rekurencję -R flaga z -C (Flaga kompresji).

SCP -RC Desktop/TestDir [email protected]: Dokumenty/

Wyłączanie SCP Uwierzytelnianie hasła i włączanie uwierzytelniania klucza

Pierwotnie protokół SCP był oparty na protokole SSH (Secure Shell), ale obecnie działa poprzez nowsze protokoły, takie jak sftp Lub rsync.

Plik konfiguracyjny, który ma być edytowany, aby włączyć uwierzytelnianie klucza i wyłączyć logowanie hasła /etc/ssh/sshd_config. Ten plik zawiera dodatkowe opcje zwiększania zabezpieczeń przenoszenia plików SCP.

Na komputerze, zezwalając na połączenia przychodzące, z których pliki są pobierane lub gdzie są przesyłane, otwórz /etc/ssh/sshd_config plik z uprawnieniami za pomocą zwykłego edytora tekstu, takiego jak krzepa Lub Nano.

sudo nano/etc/ssh/sshd_config

Przewiń w dół i znajdź linię zawierającą Pubkeyauthentication nr, Wymień to Pubkeyauthentication Tak (Zastąp "NIE" z "Tak”).

Potwierdź także Pertrootlogin nr Aby wyłączyć login root, ponieważ wszyscy na świecie znają istnienie użytkownika root, co może być celem każdego rodzaju ataku, w tym brutalnej siły.

źródło Superuser istnieje we wszystkich systemach opartych na Unixie, w tym w Linux. Nie jest to dobra decyzja, aby umożliwić zalogowanie się z uprzywilejowaną nazwą użytkownika znaną przez wszystkich na świecie.

Nie wyłącz się jeszcze zalogowanie hasła, ponieważ proces kopiowania klucza wymaga logowania hasła, zanim systemy będą mogły uwierzytelnić się za pomocą klawiszy.

Wyjdź z zmian plik konfiguracyjnych i uruchom ponownie usługę SSH, postępując zgodnie z poniższymi instrukcjami.

Dystrybucje Linux oparte na Debian:

sudo systemctl restart ssh

Rozkłady Linux oparte na Redhat:

sudo systemctl restart ssh

Po stronie klienta, komputerowego pobierania i przesyłania plików, użytkownik musi wygenerować parę klawiszy z ssh-keygen Komenda.

Po uruchomieniu polecenia naciśnij WCHODZIĆ opuścić domyślny katalog (~/.SSH/ID_RSA) lub odpowiednik w rozkładu Linuksa. Proces umożliwia wdrożenie hasła podczas uwierzytelniania. Uwzględniając hasło, poziom bezpieczeństwa jest zwiększony. Zaleca się wpisać jeden i nacisnąć WCHODZIĆ. Jeśli nie chcesz dodać pyszniczki, po prostu naciśnij WCHODZIĆ bez pisania.

ssh-keygen

Po pomyślnym utworzeniu pary klawiszy klient musi wysłać klucz do serwera za pomocą ssh-copy-id polecenie ze składnią następującego praktycznego przykładu.

SSH-COPY-ID [email protected]

Po skopiowaniu klucza przetestuj metodę uwierzytelniania, podłączając do drugiego urządzenia.

Jeśli uwierzytelnianie kluczowe uwierzy się, użytkownik będzie mógł się zalogować bez pisania hasła. Jeśli użytkownik zdefiniował hasło podczas tworzenia pary klawiszy, będzie ona żądana zamiast hasła, jak pokazano na zrzucie ekranu poniżej.

sftp @@

Po potwierdzeniu uwierzytelniania klucza publicznego, które działa poprawnie, zdecydowanie zaleca się wyłączenie uwierzytelniania hasła.

Aby wyłączyć uwierzytelnianie hasła, po stronie serwera, Otwórz plik /etc/ssh/sshd/config z uprawnieniami ponownie za pomocą edytora tekstu, takiego jak Nano Lub vi.

sudo nano/etc/ssh/sshd/config

Przewiń w dół plik konfiguracyjny i wymień linię PAssWordAuthentication Tak z Hasło Automatyka nr.

W niektórych przypadkach, gdy liczba użytkowników jest zmniejszona, port SCP/SSH można zmienić, aby zapobiec masywnym skanom. Ta zmiana należy dokonać w tym pliku. Jeśli użytkownik zmieni domowy port, musi zaimplementować opcję -p podczas przesyłania plików.

Wyjście oszczędzanie zmian.

W systemach Linux opartych na Debian ponownie uruchom usług SSH za pomocą następującego polecenia:

sudo systemctl restart ssh

Uruchom ponownie usługę SSH w rozkładach Linux z Redhat:

sudo systemctl restart sshd

Teraz użytkownik jest w stanie zalogować się z uwierzytelnianiem klucza.

Wniosek

Korzystanie z polecenia SCP jest dość łatwe. Każdy użytkownik Linux może nauczyć się, że poprawia jego wrażenia z zadań sieciowych. Ostatecznie łagodzi interakcje z innymi komputerami w sieci z wiersza poleceń. Wszystkie instrukcje w tym samouczku są ważne dla wszystkich dystrybucji Linux, z wyjątkiem metod instalacji ograniczonych do rozkładów Linuksa opartych na Debian i Redhat. Każdy administrator sieci pracujący z terminalu musi zdominować to polecenie.