Wyszukiwanie w witrynie

Jak przesyłać lub pobierać pliki/katalogi za pomocą protokołu sFTP w systemie Linux


sFTP (secure File Transfer Program) to bezpieczny i interaktywny program do przesyłania plików, który działa w podobny sposób jak FTP (Protokół przesyłania plików). Jednak sFTP jest bezpieczniejszy niż FTP; obsługuje wszystkie operacje poprzez szyfrowany transport SSH.

Można go skonfigurować tak, aby korzystał z kilku przydatnych funkcji SSH, takich jak uwierzytelnianie i kompresja klucza publicznego. Łączy się i loguje do określonej maszyny zdalnej oraz przełącza się do interaktywnego trybu poleceń, w którym użytkownik może wykonywać różne polecenia.

W tym artykule pokażemy, jak przesłać/pobrać cały katalog (w tym jego podkatalogi i podpliki) za pomocą protokołu sFTP.

Jak używać sFTP do przesyłania plików/katalogów w systemie Linux

Domyślnie SFTP wykorzystuje ten sam transport SSH do ustanawiania bezpiecznego połączenia ze zdalnym serwerem. Chociaż hasła są używane do uwierzytelniania użytkowników podobnie do domyślnych ustawień SSH, zaleca się jednak utworzenie i używanie logowania SSH bez hasła w celu uproszczonego i bezpieczniejszego połączenia ze zdalnymi hostami.

Połącz się bezpiecznie ze zdalnym serwerem FTP

Aby połączyć się ze zdalnym serwerem SFTP, najpierw nawiąż bezpieczne połączenie SSH, a następnie utwórz sesję SFTP, jak pokazano.

sftp [email 

Po zalogowaniu się na zdalnym hoście możesz uruchamiać interaktywne polecenia sFTP, jak w poniższych przykładach:

sftp> ls			#list directory 
sftp> pwd			#print working directory on remote host
sftp> lpwd			#print working directory on local host
sftp> mkdir uploads		#create a new directory

Jak przesłać katalog za pomocą protokołu sFTP

Aby przesłać cały katalog na zdalny host z systemem Linux, użyj polecenia put. Jeśli jednak nazwa katalogu nie istnieje w katalogu roboczym na zdalnym hoście, pojawi się błąd, jak pokazano na zrzucie ekranu poniżej.

Dlatego najpierw utwórz katalog o tej samej nazwie na zdalnym hoście, przed przesłaniem go z lokalnego hosta, -r robi magię, umożliwiając kopiowanie również podkatalogów i podplików:

sftp> put -r  linux-console.net-articles
sftp> mkdir linux-console.net-articles
sftp> put -r linux-console.net-articles

Aby zachować czasy modyfikacji, czasy dostępu i tryby z oryginalnych przesłanych plików, użyj flagi -p.

sftp> put -pr linux-console.net-articles

Jak pobrać katalog przy użyciu protokołu sFTP

Aby pobrać cały katalog o nazwie fstools-0.0 ze zdalnego hosta z Linuksem na komputer lokalny, użyj polecenia get z flagą -r w następujący sposób:

sftp> get -r fstools-0.0

Następnie sprawdź bieżący katalog roboczy na hoście lokalnym, czy katalog został pobrany wraz z całą zawartością.

Aby zamknąć powłokę sFTP, wpisz:

sftp> bye
OR
sftp> exit

Dodatkowo przeczytaj polecenia sFTP i wskazówki dotyczące użytkowania.

Pamiętaj, że aby uniemożliwić użytkownikom dostęp do całego systemu plików na zdalnym hoście, ze względów bezpieczeństwa możesz ograniczyć użytkowników sFTP do ich katalogów domowych za pomocą chroot Jail.

Otóż to! W tym artykule pokazaliśmy, jak przesłać/pobrać cały katalog za pomocą sFTP. Skorzystaj z sekcji komentarzy poniżej, aby podzielić się z nami swoimi przemyśleniami na temat tego artykułu/tematu.