Jako narzędzie SSH wymaga podania hasła dla użytkownika SSH lub klucza SSH dla hosta docelowego. W tym samouczku zbadamy, jak kopiować pliki i katalogi za pomocą polecenia SCP.
Polecenie SCP
Polecenie SCP jest dostępne w każdym systemie, który ma zainstalowane pakiety SSH-CLIENT i. Następnie możesz wywołać polecenie SCP z następującą składnią:
$ scp użytkownik@source_host: źródło_filename użytkownik@destying_host: Destination_FileName
Poprzednie polecenie przyjmuje kilka parametrów, takich jak:
Upewnij się, że określony użytkownik ma uprawnienia odczytu i zapisu w pliku docelowym lub katalogu zdalnego hosta.
Możesz także określić inne opcje w poleceniu SCP, aby zmienić jego domyślne zachowanie. Zaakceptowane opcje obejmują:
Możesz sprawdzić inne opcje, uruchamiając następujące polecenie:
$ MAN SCP
UWAGA: Chociaż SCP pokazuje opisowe wiadomości z kopiowanych plików i katalogów, nie wyruszy w błąd podczas zastąpienia plików. Stąd zapewnij unikalne nazwy kopiowanych plików, aby uniknąć utraty danych.
Skopiuj plik z lokalnego do zdalnego hosta
Możesz skopiować plik z komputera lokalnego do zdalnego hosta, uruchamiając następujące polecenie:
$ scp źródłowe_file.ext użytkownik@remote_addr:/remote/dir
Na przykład, aby skopiować plik Hello.TXT do/Home/Debian/Files Directory, możemy uruchomić następujące polecenie:
$ scp hello.TXT [email protected]:/home/debian/files
Polecenie wyruszy na hasło określonego zdalnego użytkownika. Jeśli dodałeś klucz SSH do hosta zdalnego, polecenie automatycznie się zaloguje i przesyła pliki docelowe.
Należy pamiętać, że polecenie SCP zachowa oryginalną nazwę pliku, chyba że określono. Na przykład, aby zapisać plik w innym katalogu, możesz uruchomić to następujące polecenie:
$ scp hello.TXT [email protected]:/home/debian/files/hello_new.tekst
To zmieni nazwę pliku z Hello.txt do hello_new.TXT na zdalnej maszynie.
Katalog kopiowania z lokalnego do zdalnego hosta
Jeśli chcesz skopiować katalog z komputera lokalnego do zdalnego hosta, użyj opcji rekurencyjnej, jak pokazano w poniższej składni:
$ scp -r src_dir użytkownik@remote_host:/ścieżka/on/remote/host/
Na przykład, aby skopiować wszystkie pliki w katalogu /var /logs komputer lokalny, możesz uruchomić następujące polecenie:
$ scp -r/var/logs/[email protected]:/home/debian/logs
Flagi -R każe polecenie SCP, aby kopiować katalog rekurencyjny. Jeśli katalog docelowy nie istnieje na zdalnym hoście, SCP utworzy go automatycznie.
Skopiuj pliki z hosta do zdalnego hosta
W niektórych przypadkach może być konieczne skopiowanie plików ze zdalnego hosta do innego zdalnego hosta. Możesz to osiągnąć, uruchamiając następujące polecenie:
$ scp user_1@host_1: src_file user_2@host_2: target_path
Polecenie skopiuje pliki określone w parametrze src_file do ścieżki określonej w parametrze Target_Path.
Upewnij się, że obie maszyny są online i że mogą komunikować się za pośrednictwem SSH.
Wniosek
Ten samouczek przeprowadza Cię za pomocą polecenia SCP do kopiowania plików i katalogów za pośrednictwem SSH.