Android

Jak używać komendy linux sftp do przesyłania plików

SFTP Server Chroot Configuration | How to Setup Chroot SFTP in Linux

SFTP Server Chroot Configuration | How to Setup Chroot SFTP in Linux

Spisu treści:

Anonim

SFTP (SSH File Transfer Protocol) to bezpieczny protokół plików używany do uzyskiwania dostępu do plików, zarządzania nimi i przesyłania ich za pośrednictwem szyfrowanego transportu SSH.

W porównaniu z tradycyjnym protokołem FTP, SFTP oferuje wszystkie funkcje FTP i jest łatwiejszy do skonfigurowania.

W przeciwieństwie do scp command , które pozwala tylko na przesyłanie plików, polecenie sftp umożliwia wykonywanie szeregu operacji na plikach zdalnych i wznawianie przesyłania plików.

W tym samouczku pokażemy, jak używać komendy Linux sftp .

Zanim zaczniesz

Aby móc przesyłać pliki i zarządzać nimi przez SFTP, musisz mieć uprawnienia do zapisu w systemie zdalnym.

Podczas przesyłania dużych plików zaleca się uruchomienie polecenia sftp w sesji ekranowej lub sesji tmux.

Katalog, z którego uruchomiono polecenie sftp jest lokalnym katalogiem roboczym.

Ustanawianie połączenia SFTP

SFTP działa na modelu klient-serwer. Jest to podsystem SSH i obsługuje wszystkie mechanizmy uwierzytelniania SSH.

Chociaż tradycyjne uwierzytelnianie za pomocą hasła jest konfigurowane domyślnie i łatwiejsze w użyciu, jeśli regularnie łączysz się z serwerem za pośrednictwem SSH / SFTP, zaleca się utworzenie kluczy SSH i skonfigurowanie bez logowania hasła SFTP.

Aby otworzyć połączenie SFTP ze zdalnym systemem, użyj polecenia sftp a następnie nazwy użytkownika zdalnego serwera i adresu IP lub nazwy domeny:

sftp remote_username@server_ip_or_hostname

Po połączeniu zostanie wyświetlony monit sftp i możesz rozpocząć interakcję ze zdalnym komputerem:

Connected to remote_username@server_ip_or_hostname. sftp>

Jeśli zdalny serwer SSH nie nasłuchuje na domyślnym porcie 22, użyj opcji -oPort , aby określić alternatywny port:

sftp -oPort=custom_port remote_username@server_ip_or_hostname

Polecenia SFTP

Większość poleceń SFTP jest podobnych lub identycznych z poleceniami, których można by użyć w wierszu poleceń powłoki Linux.

Możesz uzyskać listę wszystkich dostępnych poleceń SFTP, wpisując help lub ? .

help

Available commands: bye Quit sftp cd path Change remote directory to 'path'…… version Show SFTP version !command Execute 'command' in local shell ! Escape to local shell ? Synonym for help

Nawigacja za pomocą SFTP

Po zalogowaniu się na serwerze zdalnym bieżącym katalogiem roboczym jest katalog domowy użytkownika zdalnego. Możesz to sprawdzić, wpisując:

pwd

Remote working directory: /home/remote_username

Aby wyświetlić listę plików i katalogów, użyj polecenia ls :

ls

Aby przejść do innego katalogu, użyj polecenia cd . Na przykład, aby przejść do katalogu /tmp , wpisz:

cd /tmp

Powyższe polecenia służą do nawigacji i pracy w zdalnej lokalizacji.

Powłoka sftp udostępnia także polecenia do lokalnej nawigacji, informacji i zarządzania plikami. Lokalne polecenia są poprzedzone literą l .

Na przykład, aby wydrukować lokalny katalog roboczy, wpisz:

cd lpwd

Local working directory: /home/local_username

Przesyłanie plików za pomocą SFTP

Dzięki SFTP możesz bezpiecznie przesyłać pliki między dwoma komputerami.

Polecenie sftp jest przydatne, gdy pracujesz na serwerze bez GUI i chcesz przesyłać pliki lub wykonywać inne operacje na plikach zdalnych.

Pobieranie plików za pomocą polecenia SFTP

Po zalogowaniu się na serwerze zdalnym bieżącym katalogiem roboczym jest katalog domowy użytkownika zdalnego.

Podczas pobierania plików za pomocą polecenia sftp , pliki są pobierane do katalogu, z którego wpisałeś polecenie sftp .

Aby pobrać pojedynczy plik ze zdalnego serwera, użyj polecenia get :

get filename.zip

Dane wyjściowe powinny wyglądać mniej więcej tak:

Fetching /home/remote_username/filename.zip to filename.zip /home/remote_username/filename.zip 100% 24MB 1.8MB/s 00:13

get filename.zip local_filename.zip

Aby pobrać katalog ze zdalnego systemu, użyj opcji rekurencyjnej -r :

get -r remote_directory

Jeśli przesyłanie pliku nie powiedzie się lub zostanie przerwane, możesz je wznowić za pomocą polecenia reget .

Składnia reget jest taka sama jak składnia get :

reget filename.zip

Przesyłanie plików za pomocą polecenia SFTP

Aby przesłać plik z lokalnego komputera na zdalny serwer SFTP, użyj polecenia put :

put filename.zip

Dane wyjściowe powinny wyglądać mniej więcej tak:

Uploading filename.zip to /home/remote_username/filename.zip filename.zip 100% 12MB 1.7MB/s 00:06

Jeśli plik, który chcesz przesłać, nie znajduje się w bieżącym katalogu roboczym, użyj bezwzględnej ścieżki do pliku.

Podczas pracy z put możesz używać tych samych opcji, które są dostępne w poleceniu get .

Aby przesłać katalog lokalny, wpisz:

put -r locale_directory

Aby wznowić przerwane przesyłanie:

reput filename.zip

Manipulacje plikami przy pomocy SFTP

Zazwyczaj, aby wykonywać zadania na zdalnym serwerze, łączysz się z nim przez SSH i wykonujesz swoją pracę za pomocą terminala powłoki. Jednak w niektórych sytuacjach użytkownik może mieć dostęp SFTP tylko do zdalnego serwera.

SFTP umożliwia wykonywanie podstawowych poleceń manipulacji plikami. Poniżej znajdują się przykłady użycia powłoki SFTP:

  • Uzyskaj informacje o wykorzystaniu dysku przez system zdalny:

    df

    Size Used Avail (root) %Capacity 20616252 1548776 18002580 19067476 7%

    Utwórz nowy katalog na zdalnym serwerze:

    mkdir directory_name

    Zmień nazwę pliku na zdalnym serwerze:

    rename file_name new_file_name

    Usuń plik na zdalnym serwerze:

    rm file_name

    Usuń katalog na zdalnym serwerze:

    rmdir directory_name

    Zmień uprawnienia do pliku w systemie zdalnym:

    chmod 644 file_name

    Zmień właściciela pliku w systemie zdalnym:

    chown user_id file_name

    Musisz podać identyfikator użytkownika w komendach chown i chgrp .

    Zmień właściciela grupy zdalnego pliku za pomocą:

    chgrp group_id file_name

Po zakończeniu pracy zamknij połączenie, wpisując bye lub quit .

Wniosek

W tym samouczku pokazaliśmy, jak używać polecenia sftp do pobierania i przesyłania plików na zdalny serwer SFTP.

Możesz także skonfigurować uwierzytelnianie oparte na kluczu SSH i połączyć się z serwerami Linux bez wprowadzania hasła.

Jeśli masz jakieś pytania lub uwagi, zostaw komentarz.

terminal sftp