Domyślnie polecenie SCP używa portu 22 (SSH). W przypadku, gdy system zdalny skonfigurował usługę SSH do działania na innym porcie, nadal możesz użyć SCP, a następnie -P flaga, aby określić potrzebny port.
Notatka: Instrukcje dotyczące zmiany domyślnego portu SSH w systemie zdalnym Przeczytaj niniejszą sekcję.
Pobieranie plików za pomocą SCP na innym porcie
Aby określić inny port niż 22 podczas korzystania z polecenia SCP, musisz zaimplementować -P flaga, jak pokazano w poniższym przykładzie, w którym domyślny port został zmieniony na port 3940.
Składnia jest dość prosta, jak pokazano poniżej.
SCP -p@ :
W poniższym przykładzie pokazuję, jak pobrać nazwany plik Linuxint.plik z zdalnego hosta przez port 3940. Plik jest przechowywany w katalogu domowym zdalnego użytkownika o nazwie Kali którego używam do uwierzytelniania, jest to domyślna zdalna lokalizacja, gdy żaden inny nie jest zdefiniowany.
Na końcu polecenia określam lokalny katalog, w którym plik zostanie zapisany (pobieranie).
SCP -p 3940 [email protected]: Linuxhint.Plik ~/pobieranie
Jak widać, przesyłanie plików zostało wykonane pomyślnie. Powód wyjaśniający 0.0kb/s to to, że wszystkie pliki dla tego samouczka są puste.
Pobieranie katalogów za pomocą SCP na innym porcie
Pobieranie katalogów wymaga bardzo podobnej składni, z wyjątkiem -R flaga, którą należy dodać dodatkowo do -P flaga, jak pokazano w poniższym przykładzie. Poniższy zrzut ekranu pokazuje, jak procesorowi zdalny katalog nazwany reż do lokalnego katalogu domowego, przez cały port 3049.
SCP -RP 3940 [email protected]: Dir ~/
Jak widać, katalog został pobrany rekurencyjnie do lokalnego domu.
Przesyłanie plików za pomocą SCP z różnym portem
Przesyłanie plików z SCP na innym porcie wymaga również -P flaga. Zapamiętaj SCP polecenie jest podobne do CP Komenda. Dlatego podczas przesyłania plików katalog docelowy pliku musi być również umieszczony na końcu polecenia.
W przykładzie poniżej przesyłam Linuxhint.plik przez port 3940 do zdalnego podwodnego wymienionego Linuxhintdir, Znajduje się w odległym katalogu domowym.
SCP -p 3940 Linuxhint.Plik [email protected]: Linuxhintdir
Przesyłanie katalogów za pomocą SCP z różnym portem
Poniższy przykład pokazuje, jak przesłać katalog zamiast zwykłego pliku. W tym celu, tak jak podczas przesyłania plików, musisz tylko dodać -R flaga.
Poniższy przykład pokazuje, jak przesłać nazwany katalog reż do /TMP Zdalny katalog przez port 3940.
SCP -RP 3940 DIR [email protected]:/tmp
To wszystko, co musisz wiedzieć, aby przesyłać pliki za pomocą SCP z lub do zdalnego urządzenia za pomocą innego portu SSH.
Zmień zdalny domyślny port SSH z 22 na inny
Aby użyć SCP przez inny port, druga strona musi mieć skonfigurowany port, którego chcesz użyć.
Aby zmienić domyślny port SSH, musisz edytować plik konfiguracji SSH. W większości dystrybucji Linux możesz edytować ten plik, uruchamiając poniższe polecenie.
sudo nano/etc/ssh/sshd_config
Po otwarciu znajdź linię zawierającą „port 22” pokazany na poniższym obrazku.
Zmień numer 22 dla portu, którego chcesz użyć z SCP. Na zrzucie ekranu poniżej widać, że zmieniłem domowy port na port 3940.
Po zredagowaniu naciśnij Ctrl+x I Y Aby wyjść z oszczędzania zmian.
Następnie uruchom ponownie usługę SSH, uruchamiając poniższe polecenie.
sudo systemctl restart ssh
Teraz będziesz mógł pobierać lub przesyłać pliki za pomocą SCP na zdefiniowanym porcie.
Wniosek
Jak widać, użycie polecenia SCP przez różne porty niż 22 jest dość łatwe do wdrożenia. Jednak ważne jest, aby przypomnieć czytelnikom, że polecenie SCP jest przestarzałe i zastąpione bezpieczniejszymi alternatywami, takimi jak rsync lub sFTP. Użytkownicy muszą zdawać sobie sprawę, że chociaż polecenie SCP jest oparte na protokole SSH, -P Flaga należy wpisać w górnej sprawie, w przeciwieństwie do specyfikacji portu SSH, który odbywa się za pomocą małej litery -P.
Dziękuję za przeczytanie wskazówki Linux. Mam nadzieję, że ten samouczek był przydatny. Śledź nas, aby uzyskać więcej wskazówek i samouczków Linux.