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 je silný. FTP nemá zabezpečení moderního protokolu, ale budete jej možná muset použít. Zde je návod, jak na to.

Varování: Nepoužívejte FTP přes internet

Pojďme si to ujasnit hned od začátku: Protokol File Transfer Protocol (FTP) pochází z počátku 70. let a byl napsán bez 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, jakož i data, která stáhnete nebo nahrajete, jsou přenášena ve formátu prostého textu. Kdokoli může sledovat vaše tajemství. FTP však stále má svá použití.

Pokud přenášíte soubory v síti, měli byste být v bezpečí - pokud nikdo v síti nebude čichat pakety a odposlouchávat žádné citlivé dokumenty při jejich přenosu. Pokud vaše soubory nejsou žádným způsobem důvěrné nebo citlivé, měl by být jejich přesun po vnitřní síti pomocí FTP v pořádku. Linux má standardní ftpprogram příkazového řádku, který se zabývá přesně tímto scénářem.

Ale rozhodně nepoužívejte  ftp příkaz k přístupu k externím zdrojům přes internet. K tomu použijte program sftppříkazového řádku, který používá zabezpečený protokol SSH File Transfer Protocol. Oba tyto programy představíme v tomto kurzu.

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

Bez šifrování by mohl nebezpečný herec upravit i soubory, které stahujete nebo nahráváte během 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 adresu IP v příkazech adresou IP serveru FTP, ke kterému se připojujete.

ftp 192.168.4.25

Varování : Příkaz byste měli používat pouze ftppro připojení k serverům v důvěryhodné místní síti. Pomocí sftpníže uvedeného příkazu můžete přenášet soubory přes internet.

Server FTP odpoví uvítací zprávou. Znění pozdravu se bude u jednotlivých serverů lišit. Poté požádá o 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, a vaše uživatelské jméno pro Linux. Pokud je váš účet na FTP serveru stejný jako vaše uživatelské jméno pro Linux, jednoduše stiskněte klávesu Enter. Toto 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 účtu FTP liší, zadejte uživatelské jméno účtu FTP a stiskněte klávesu Enter.

Přihlášení k serveru FTP

Budete vyzváni k zadání hesla pro server FTP. Zadejte své heslo a stiskněte klávesu Enter. Vaše heslo se na obrazovce nezobrazí. Pokud je vaše FTP jméno uživatele a heslo ověřeno FTP serverem, jste přihlášeni na FTP server.

Zobrazí se ftp>výzva.

Rozhlížet se a načítat soubory

Nejprve budete pravděpodobně chtít získat seznam souborů na serveru FTP. lsPříkaz dělá jen to. Náš uživatel vidí, že gc.cje soubor na serveru FTP, 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 tedy vydá příkaz get gc.c. Napíšou get, mezeru a poté název souboru, který chtějí načíst.

Server FTP odpoví přenosem souboru do místního počítače a potvrzením, že došlo k přenosu. Zobrazena je také velikost souboru a čas potřebný k přenosu.

je
získat gc.c

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

To by bylo zdlouhavé pro velké množství souborů. Z tohoto důvodu jsou sbírky souvisejících souborů obvykle ukládány na ftp webech jako jednotlivé soubory tar.gz nebo tar.bz2.

SOUVISEJÍCÍ: Jak extrahovat soubory ze souboru .tar.gz nebo .tar.bz2 v systému Linux

mget * .c

Odesílání souborů na server FTP

V závislosti na oprávněních udělených vašemu účtu FTP možná budete moci nahrávat (nebo „vkládat“) soubory na server. Chcete-li nahrát soubor, použijte putpříkaz. V našem příkladu uživatel nahrává soubor nazvaný Songs.tar.gzna server FTP.

dát Songs.tar.gz

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

Stejný argument pro vkládání souborů do archivů tar platí pro vkládání souborů i 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 serveru ftp umožňuje, můžete vytvářet adresáře. Příkaz k tomu je mkdir. Aby bylo jasno, jakýkoli adresář, který vytvoříte pomocí mkdirpříkazu, bude vytvořen na serveru ftp, nikoli na místním počítači.

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

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

hudba mkdir
CD hudba
pwd
dát songs.tar.gz

Chcete-li se rychle přesunout do nadřazeného adresáře aktuálního adresáře, použijte cduppříkaz.

cdup

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

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

!Příkaz otevře okno prostředí do místního počítače. V tomto prostředí můžete dělat cokoli, co můžete ve standardním terminálovém okně. Po zadání exitse vrátíte na ftp>výzvu.

Náš uživatel použil !příkaz a vstoupil do okna prostředí v místním počítači. Vydali lspříkaz, aby zjistili, jaké soubory jsou v daném adresáři, a poté se zadali, exitaby se vrátili na ftp>výzvu.

!
je
výstup

Přejmenování souborů

Chcete-li přejmenovat soubory na serveru FTP, použijte renamepříkaz. Zde náš uživatel FTP přejmenuje soubor renamea pomocí lspříkazu zobrazí seznam souborů v adresáři.

přejmenujte songs.tar.gz rock_songs.tar.gz
je

Mazání souborů

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

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

je
smazat gc.o
mdelete * .o

Pomocí příkazu sftp

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

Chcete-li se připojit ke vzdálenému nebo veřejnému serveru FTP, použijte sftppříkaz. Náš uživatel se chystá připojit k účtu SFTP volanému demona veřejně přístupném serveru FTP umístěném na adrese test.trebex.net.

Když se připojí, jsou informováni, že spojení bylo navázáno. Jsou také informováni, že nelze ověřit autenticitu hostitele. To je normální pro první připojení nového hostitele. Stisknutím tlačítka „y“ připojení přijmou.

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

sftp [email protected]

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

  • Odstranění souboru rm( použití FTP delete)
  • Chcete-li odstranit více souborů, použijte rm( použití FTP mdelete)
  • K přesunu do nadřazeného adresáře použijte cd ..( použití FTP cdup)

Náš uživatel během relace SFTP použil několik příkazů. Mají zvyk lsvypsat soubory a cdzměnit se do pub adresáře. Použili pwdk vytištění 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. Tyto dva příkazy, které se používají v příslušných scénářích, budou sloužit vám i vašim potřebám úložiště a načítání souborů.