GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak používat SFTP k přenosu souborů

Úvod

SFTP (Safe File Transfer Protocol) je součástí spolu s SSH jako bezpečný způsob přenosu souborů mezi vzdálenými systémy. Umožňuje také uživatelům provádět základní administrativní úlohy na vzdálených serverech, jako je správa souborů a adresářů a nastavení oprávnění k souborům.

V tomto tutoriálu vám ukážeme, jak používat SFTP k přenosu souborů mezi místním a vzdáleným systémem pomocí terminálového rozhraní.

Předpoklady

  • Přístup k místnímu systému a vzdálenému serveru připojený pomocí páru veřejných klíčů SSH.
  • Fungující připojení k internetu.
  • Přístup do okna terminálu.

Jak se připojit pomocí SFTP

SFTP vytváří zabezpečené spojení mezi systémy pomocí síťového protokolu SSH. To vám umožní připojit se k jakémukoli systému, který má kopii vašeho veřejného klíče SSH.

Připojení k jinému systému pomocí SFTP se řídí stejnou syntaxí příkazů jako připojení pomocí SSH. Příkaz vyžaduje, abyste zadali uživatelské jméno a název vzdáleného hostitele nebo IP adresu pro systém, ke kterému chcete přistupovat:

sftp [username]@[remote hostname or IP address]

V níže uvedeném příkladu se připojujeme k systému s IP adresou 192.168.100.5 pomocí phoenixnap uživatelské jméno:

sftp [email protected]

Chcete-li ukončit aktuální připojení, použijte:

exit

Jak přenášet soubory pomocí SFTP

Použití SFTP vám umožňuje přenášet soubory ze vzdáleného serveru do místního systému a naopak.

Přenos vzdálených souborů do místního systému

Použijte get příkaz v rozhraní SFTP pro přenos souboru ze vzdáleného serveru do vašeho místního systému:

get [path to file]

Chcete-li například přenést soubor s názvem example_document.txt z domovské stránky vzdáleného systému adresáře do místního systému, použijte:

get example_document.txt

Ve výchozím nastavení SFTP přenáší soubory do Domů místního systému adresář. Chcete-li přenést soubory do jiného adresáře, přidejte cestu k adresáři na konec get příkaz:

get example_document.txt Downloads

Chcete-li změnit název souboru v místním systému, přidejte nový název souboru na konec get příkaz.

get example_document.txt sample01.txt

Ve výše uvedeném příkladu get příkaz načte example_document.txt soubor a uloží jej jako sample01.txt v místním systému.

SFTP také umožňuje přenos celého adresáře ze vzdáleného systému pomocí -r příznak označující rekurzivní přenos všech souborů v adresáři:

get -r Example_Directory

Přidejte -P příznak do get příkaz k přenosu souboru nebo adresáře při zachování oprávnění a přístupových časů:

get -Pr Example_Directory

Použijte ls příkaz k ověření přenosu do místního systému:

ls -l

Přenos místních souborů na vzdálený server

Chcete-li přenést soubory z místního systému na vzdálený server, použijte put příkaz. put příkaz používá stejnou syntaxi a možnosti jako get příkaz.

put [path to file]

Chcete-li například přenést soubor example01.txt soubor na vzdálený server, použijte:

put example01.txt

Chcete-li přenést soubor do konkrétního adresáře na vzdáleném serveru, přidejte cestu k adresáři na konec put příkaz.

put example01.txt Example_Directory

Přidání nového souboru na konec put příkaz změní název přenášeného souboru na vzdáleném serveru.

put example01.txt text_sample.txt

Přenos celého adresáře vyžaduje -r vlajka.

put -r Test_Directory

Přidejte -P příznak do put příkaz pro zachování oprávnění k souboru:

put -Pr Test_Directory

Ověřte přenos souboru pomocí ls příkaz na vzdáleném systému:

Údržba souborů pomocí SFTP

SFTP podporuje základní údržbu souborů. Pomocí protokolu SFTP můžete například upravit oprávnění k souborům a adresářům ve vzdáleném systému.

chown příkaz změní vlastnictví souboru podobně jako příkaz chmod:

chown [user ID] [path to file]

Na rozdíl od chmod příkaz, chown přijímá pouze uživatelská ID, nikoli uživatelská jména. Nalezení UID pro vzdálený server pomocí rozhraní SFTP vyžaduje přenos a přístup k /etc/passwd soubor:

get /etc/passwd
!less passwd

UID pro každého uživatele lze nalézt ve třetím sloupci oddělené dvojtečkami:

chmod příkaz funguje stejně jako ve standardním shellu:

chmod [permission] [path to file]

Další možností je změnit vlastnictví skupinového souboru pomocí chgrp příkaz:

chgrp [group ID] [path to file]

Stejně jako u UID se ID skupiny nacházejí ve třetím sloupci souboru /etc/group soubor na vzdáleném serveru:

get /etc/group
!less group

SFTP vám umožňuje nastavit místní umask, který změní výchozí oprávnění k souborům přenášeným do místního systému.

Například:

lumask 022

Výše uvedený příkaz změní místní umask na 022 . Každý soubor přenesený po nastavení této umask má nyní 644 povolení ve výchozím nastavení. Původní oprávnění můžete stále zachovat pomocí -p vlajka.

Dalším způsobem, jak změnit oprávnění k místním souborům, je použít SFTP k replikaci chování příkazů shellu. Chcete-li to provést, přidejte vykřičník (! ) před názvem příkazu.

Například pomocí chmod příkaz v místním systému:

!chmod [permission] [path to file]

Ubuntu
  1. Použití protokolu SFTP k přenosu souborů mezi místními a vzdálenými počítači

  2. Jak připojit Nexus 7 k přenosu souborů?

  3. Jak bezpečně přenášet soubory pomocí sftp (včetně příkladů)

  1. Jak přenášet soubory mezi místními a vzdálenými počítači pomocí protokolu SFTP

  2. Jak používat Netcat k přenosu souborů v systému Linux

  3. Jak používat rsync z Windows PC na vzdálený Linux server?

  1. Jak přenášet soubory v Linuxu pomocí SCP a Rsync

  2. Jak bezpečně přenášet soubory pomocí příkazu SCP v systému Linux

  3. Jak používat FTP pod Linuxem k přenosu souborů