SFTP (SSH File Transfer Protocol) jest bezpiecznym protokołem plików, który jest używany do dostępu, zarządzania i przesyłania plików przez zaszyfrowany transport SSH.
w porównaniu z tradycyjnym protokołem FTP, SFTP oferuje wszystkie funkcje FTP, ale jest bezpieczniejszy i łatwiejszy w konfiguracji.
W przeciwieństwie do SCP , który obsługuje tylko transfer plików, SFTP pozwala wykonywać szereg operacji na zdalnych plikach i wznawiać transfer plików.
w tym samouczku pokażemy Ci jak używać poleceniasftp
.,
zanim zaczniesz #
aby móc przesyłać pliki przez SFTP musisz mieć uprawnienia zapisu w systemie zdalnym.
podczas przesyłania dużych plików zaleca się uruchomienie poleceniasftp
wewnątrz ekranu lub sesji tmux.
katalog, z którego uruchamiasz polecenie sftp
jest lokalnym katalogiem roboczym.
ustanowienie połączenia SFTP #
SFTP działa na modelu klient-serwer. Jest podsystemem SSH i obsługuje wszystkie mechanizmy uwierzytelniania SSH.
aby otworzyć połączenie SFTP ze zdalnym systemem, użyj polecenia sftp
, a następnie nazwy użytkownika serwera zdalnego i adresu IP lub nazwy domeny:
sftp remote_username@server_ip_or_hostname
Jeśli łączysz się z hostem za pomocą uwierzytelniania hasłem, zostaniesz poproszony o podanie hasła użytkownika.,
Po podłączeniu pojawi się monit sftp
I możesz rozpocząć interakcję ze zdalnym serwerem:
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 -P
, aby określić protokół SFTP port:
sftp -P custom_port remote_username@server_ip_or_hostname
polecenia SFTP #
większość poleceń SFTP jest podobna lub identyczna z poleceniami powłoki Linuksa.
aby uzyskać listę wszystkich dostępnych poleceń SFTP, wpiszhelp
lub?
.,
help
spowoduje to wyświetlenie długiej listy wszystkich dostępnych poleceń, w tym krótkiego opisu każdego polecenia:
Available commands:bye Quit sftpcd 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 #
gdy jesteś zalogowany na zdalnym serwerze, Twoim bieżącym katalogiem roboczym jest katalog domowy zdalnego użytkownika., 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 innym katalogu, użyj polecenia cd
. Na przykład, aby przejść do katalogu /tmp
należy wpisać:
cd /tmp
powyższe polecenia są używane do nawigacji i pracy w zdalnej lokalizacji.
powłoka SFTP zapewnia również polecenia do lokalnej nawigacji, informacji i zarządzania plikami., Polecenia lokalne są poprzedzone literą l
.
na przykład, aby wydrukować lokalny katalog roboczy, należy wpisać:
cd lpwd
Local working directory: /home/local_username
przesyłanie plików za pomocą SFTP #
SFTP umożliwia bezpieczne przesyłanie plików między dwoma komputerami.
Jeśli pracujesz na komputerze stacjonarnym, możesz użyć klienta GUI SFTP, takiego jak WinSCP lub FileZilla, aby połączyć się ze zdalnym serwerem i pobrać lub przesłać pliki.,
poleceniesftp
jest przydatne, gdy pracujesz na serwerze bez GUI i chcesz przesyłać pliki lub wykonywać inne operacje na zdalnych plikach.,
pobieranie plików poleceniem SFTP #
aby pobrać pojedynczy plik ze zdalnego serwera, użyj polecenia get
:
get filename.zip
wyjście powinno 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
podczas pobierania plików za pomocą sftp
, pliki są pobierane do katalogu, z którego wpisano polecenie sftp
.,
Jeśli chcesz zapisać pobrany plik o innej nazwie, podaj nową nazwę jako drugi argument:
get filename.zip local_filename.zip
aby pobrać katalog ze zdalnego systemu, Użyj rekurencyjnej opcji :
get -r remote_directory
Jeśli transfer plików nie powiedzie się lub zostanie przerwany, możesz go wznowić za pomocą polecenia reget
.,
składnia reget
jest taka sama jak składnia get
:
reget filename.zip
przesyłanie plików poleceniem SFTP #
aby przesłać plik z lokalnego komputera na zdalny serwer SFTP, użyj polecenia put
:
put filename.zip
wyjście powinno wyglądać mniej więcej tak:
Uploading filename.zip to /home/remote_username/filename.zipfilename.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 zput
możesz użyć tych samych opcji, które są dostępne za pomocą poleceniaget
.
aby przesłać katalog lokalny, należy wpisać:
put -r locale_directory
aby wznowić przerwane przesyłanie:
reput filename.zip
manipulacje plikami za pomocą SFTP #
zazwyczaj, aby wykonać zadania na zdalnym serwerze, należy połączyć się z nim przez SSH i wykonać pracę za pomocą terminala powłoki. Jednak w niektórych sytuacjach użytkownik może mieć tylko dostęp SFTP do zdalnego serwera.,
SFTP pozwala na wykonywanie podstawowych poleceń manipulacji plikami.,zdalny serwer:
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 pliku w zdalnym systemie:
chmod 644 file_name
zmień właściciela pliku w zdalnym systemie:
chown user_id file_name
musisz podać identyfikator użytkownika do chown
I chgrp
.,
Zmień właściciela grupy na:
chgrp group_id file_name
Po Zakończeniu pracy zamknij połączenie, wpisującbye
lubquit
.
podsumowanie #
w tym samouczku pokazaliśmy, jak używać poleceniasftp
do pobierania i przesyłania plików na zdalny serwer SFTP.
Możesz również skonfigurować uwierzytelnianie oparte na kluczach SSH i połączyć się z serwerami Linux bez wprowadzania hasła., Jeśli regularnie łączysz się z tymi samymi systemami, możesz uprościć przepływ pracy, definiując wszystkie połączenia w pliku konfiguracyjnym SSH .
Dodaj komentarz