Jak používat příkaz FTP v systému Linux

Protokol přenosu souborů je starší než většina našich čtenářů, ale stále funguje. FTP nemá zabezpečení moderního protokolu, ale přesto ho možná budete muset použít. Zde je návod, jak na to.

Upozornění: Nepoužívejte FTP přes internet

Ujasněme si to hned od začátku: Protokol FTP (File Transfer Protocol) pochází z počátku 70. let a byl napsán bez jakéhokoli ohledu na bezpečnost. K ničemu nepoužívá šifrování. Přihlašovací údaje, jako je vaše uživatelské jméno a heslo, a také data, která stahujete nebo nahráváte, jsou přenášeny jako prostý text. Kdokoli na cestě může vidět vaše tajemství. FTP má však stále své využití.

Pokud přenášíte soubory v rámci své sítě, měli byste být v bezpečí – pokud nikdo v síti nebude pakety odposlouchávat a odposlouchávat citlivé dokumenty, když je přenášíte. Pokud vaše soubory nejsou žádným způsobem důvěrné nebo citlivé, mělo by být jejich přesouvání po interní síti pomocí FTP v pořádku. Linux má standardní ftp program příkazového řádku vypořádat se přesně s tímto scénářem.

Rozhodně ale nepoužívejte příkaz ftp pro přístup k externím zdrojům přes internet. K tomu použijte sftp program příkazového řádku, který používá zabezpečený protokol SSH File Transfer Protocol. Oba tyto programy představíme v tomto tutoriálu.

Chcete-li objasnit, proč nikdy nechcete používat FTP přes internet, podívejte se na níže uvedený snímek obrazovky. Zobrazuje heslo FTP v prostém textu. Kdokoli ve vaší síti nebo mezi vámi a serverem FTP na internetu může snadno vidět heslo „MySecretPassword“.

Bez šifrování by mohl zákeřný činitel upravit také soubory, které stahujete nebo nahráváte při přenosu.

Příkaz ftp

Za předpokladu, že máte platný účet na serveru FTP, můžete se k němu připojit pomocí následujícího příkazu. V celém tomto článku nahraďte IP adresu v příkazech IP adresou FTP serveru, ke kterému se připojujete.

ftp  192.168.4.25

Upozornění: Příkaz ftp byste měli používat pouze pro připojení k serverům v důvěryhodné místní síti. Pro přenos souborů přes internet použijte níže uvedený příkaz sftp.

FTP server odpoví uvítací zprávou. Znění pozdravu se bude lišit server od serveru. Poté se zeptá na uživatelské jméno účtu, ke kterému se přihlašujete.

Všimněte si, že je zobrazena IP adresa webu, ke kterému se připojujete, následovaná vaším uživatelským jménem pro Linux. Pokud je název vašeho účtu na FTP serveru stejný jako vaše uživatelské jméno pro Linux, jednoduše stiskněte klávesu Enter. Tím se použije vaše uživatelské jméno pro Linux jako název účtu na serveru FTP. Pokud se vaše uživatelské jméno pro Linux a název FTP účtu liší, zadejte uživatelské jméno FTP účtu a stiskněte Enter.

Přihlášení k FTP serveru

Budete vyzváni k zadání hesla pro server FTP. Zadejte své heslo a stiskněte Enter. Vaše heslo se nezobrazuje na obrazovce. Pokud FTP server ověří kombinaci názvu a hesla vašeho uživatelského účtu FTP, budete přihlášeni k serveru FTP.

Zobrazí se výzva ftp>.

Prohlížení a načítání souborů

Nejprve budete pravděpodobně chtít získat seznam souborů na serveru FTP. Příkaz ls to dělá. Náš uživatel vidí, že soubor gc.c je na FTP serveru a chce si jej stáhnout do svého počítače. Jeho počítač je v jazyce FTP „místní počítač“.

Příkaz k načtení (nebo „získání“) souboru je get. Náš uživatel proto zadá příkaz get gc.c. Zadají get, mezeru a pak název souboru, který chtějí načíst.

FTP server odpoví přenesením souboru do místního počítače a potvrzením, že přenos proběhl. Zobrazí se také velikost souboru a doba přenosu.

ls
get gc.c

Chcete-li načíst více souborů najednou, použijte příkaz mget (multiple get). Příkaz mget vás požádá o potvrzení, zda chcete postupně stáhnout každý soubor. Odpovězte stisknutím „y“ pro ano a „n“ pro ne.

To by bylo únavné pro velké množství souborů. Z tohoto důvodu jsou kolekce souvisejících souborů obvykle uloženy na ftp stránkách jako jednotlivé soubory tar.gz nebo tar.bz2.

mget *.c

Nahrávání souborů na FTP server

V závislosti na oprávněních, která byla udělena vašemu FTP účtu, možná budete moci nahrávat (nebo „ukládat“) soubory na server. Chcete-li nahrát soubor, použijte příkaz put. V našem příkladu uživatel nahrává soubor s názvem Songs.tar.gz na server FTP.

put Songs.tar.gz

Jak pravděpodobně očekáváte, existuje příkaz pro uložení více souborů na server FTP najednou. Říká se tomu mput (multiple put). Stejně jako příkaz mget požádá mput o potvrzení „y“ nebo „n“ pro nahrání každého souboru, jeden po druhém.

Stejný argument pro vkládání sad souborů do archivů tar platí pro vkládání souborů jako pro získávání souborů. Náš uživatel nahrává několik souborů „.odt“ pomocí následujícího příkazu:

mput *.odt

Vytváření a změna adresářů

Pokud to váš uživatelský účet na ftp serveru umožňuje, možná budete moci vytvářet adresáře. Příkaz k tomu je mkdir . Aby bylo jasno, každý adresář, který vytvoříte pomocí příkazu mkdir, bude vytvořen na ftp serveru a ne na vašem lokálním počítači.

Chcete-li změnit adresáře na ftp serveru, použijte příkaz cd. Když použijete příkaz cd, výzva ftp> se nezmění, aby odrážela váš nový aktuální adresář. Příkaz pwd (tisk pracovního adresáře) vám ukáže váš aktuální adresář.

Náš ftp uživatel vytvoří adresář s názvem music, změní se do tohoto nového adresáře, potvrdí, kde se nachází, pomocí příkazu pwd a poté nahraje soubor do tohoto adresáře.

mkdir music
cd music
pwd
put songs.tar.gz

Pro rychlý přesun do nadřazeného adresáře aktuálního adresáře použijte příkaz cdup.

cdup

Přístup k místnímu počítači

Chcete-li změnit adresář na místním počítači, můžete použít příkaz lcd na příkazovém řádku ftp>. Je však snadné ztratit přehled o tom, kde se v místním souborovém systému nacházíte. Pohodlnějším způsobem přístupu k místnímu souborovému systému je použití ! příkaz.

! příkaz otevře okno shellu do místního počítače. V tomto prostředí můžete dělat cokoli, co můžete ve standardním okně terminálu. Když napíšete exit, vrátíte se na výzvu ftp>.

Náš uživatel použil ! a vstoupil do okna shellu na místním počítači. Vydali příkaz ls, aby zjistili, jaké soubory jsou v tomto adresáři, a pak zadali exit, aby se vrátili na výzvu ftp>.

!
ls
exit

Přejmenování souborů

K přejmenování souborů na FTP serveru použijte příkaz rename. Zde náš FTP uživatel přejmenuje soubor pomocí rename a poté pomocí příkazu ls vypíše soubory v adresáři.

rename songs.tar.gz rock_songs.tar.gz
ls

Mazání souborů

Chcete-li odstranit soubory na serveru FTP, použijte příkaz delete. Chcete-li odstranit několik souborů najednou, použijte příkaz mdelete. Budete požádáni o potvrzení „y“ nebo „n“ pro smazání každého souboru.

Zde náš uživatel FTP vypsal soubory, aby viděl jejich názvy, a poté si vybral jeden, který má smazat. Poté se rozhodnou je všechny smazat.

ls
delete gc.o
mdelete *.o

Pomocí příkazu sftp

Čtenáři obeznámení se systémem IP adres si jistě všimli, že adresa 192.168 FTP serveru použitá ve výše uvedených příkladech je interní IP adresa, také nazývaná soukromá IP adresa. Jak jsme varovali na začátku tohoto článku, příkaz ftp by se měl používat pouze v interních sítích.

Pokud se chcete připojit ke vzdálenému nebo veřejnému FTP serveru, použijte příkaz sftp. Náš uživatel se připojí k SFTP účtu s názvem demo na veřejně přístupném FTP serveru umístěném na test.trebex.net.

Když se připojí, jsou informováni, že spojení bylo navázáno. Jsou také informováni, že pravost hostitele nelze ověřit. To je normální pro první připojení nového hostitele. Stisknou „y“ pro přijetí připojení.

Protože název uživatelského účtu (demo) byl předán na příkazovém řádku, nejsou vyzváni k zadání názvu uživatelského účtu. Jsou vyzváni pouze k zadání hesla. Toto je zadáno, ověřeno a přijato a zobrazí se výzva sftp>.

sftp [email protected]

Příkazy FTP, které jsme popsali výše, budou fungovat stejně v relaci SFTP s následujícími výjimkami.

Pro smazání souboru použijte rm (FTP používá delete)
Chcete-li odstranit více souborů, použijte rm (FTP používá mdelete)
Pro přesun do nadřazeného adresáře použijte cd .. (FTP používá cdup)

Náš uživatel použil ve své relaci SFTP několik příkazů. Používají ls k výpisu souborů a cd ke změně do adresáře pub. Použili pwd k tisku pracovního adresáře.

Ve světě Linuxu existují další možnosti přenosu souborů, zejména scp (zabezpečená kopie), ale zde jsme se zaměřili na FTP a SFTP. Při použití v použitelných scénářích tyto dva příkazy dobře poslouží vám a vašim potřebám pro ukládání a načítání souborů.