Obsah

lftp

Lftp je řádkový FTP klient dostupný pro Linux a Cygwin (Windows).

K nainstalování lftp do cygwina lze využít návod, kde pouze místo komponent rsync a openssh zvolíme lftp.

V prostředí GNU/Linux lftp nainstalujeme pomocí balíčkovacího systému, nebo stažením zdrojových kódů ze stránek výrobce a jejich následnou kompilací. V obou případech je však nutné zkontrolovat, zdali program lftp využívá GnuTLS, nebo OpenSSL knihovnu. Toho lze docílit tím, že si zjistíme cestu k bínárce lftp a tu pak použijeme jako argument ldd:

which lftp
ldd /ziskana_cesta_k_lftp

Fragment výpisu pro knihovnu GnuTLS může vypadat takto:

linux-vdso.so.1 =>  (0x00007fff8bc97000)
libgnutls.so.26 => /usr/lib/x86_64-linux-gnu/libgnutls.so.26 (0x00007fbd4866d000)
...

V případě, že lftp ani jednu knihovnu nevyužívá, je nutné program zkompilovat s podporou jedné z knihoven.

DU4 Ostrava ftp.du4.cesnet.cz
DU5 Jihlava ftp.du5.cesnet.cz

Přihlášení na ftp server provedeme příkazem:

lftp ftp://uzivatelske_jmeno@server
Přestože v příkazu pro připojení zadáváte protokol ftp:// a ne ftps://, dojde k šifrování, jelikož připojení pomocí SSL/TLS je vynuceno na straně serveru.
Protože se ve výchozím stavu šifruje pouze navázání přenosu, je velmi vhodné zapnout také šifrování během přenosu dat, přidáním následujících řádek do souboru /etc/lftp.conf:
set ftp:ssl-protect-data yes
set ftp:ssl-protect-list yes

Po úspěšném přihlášením, můžeme zadávat FTP příkazy:

cd <adresar> změna vzdáleného adresáře
lcd <lokalni_adresar> změna lokálního adresáře
get [OPTS] <vzdaleny_soubor> [-o <lokalni_soubor>]
   stažení vzdáleného souboru 
mget [OPTS] <vzdalene_soubory> stažení vzdálených souborů
mkdir [-p] <dirs> vytvoří adrešář na vzdáleném serveru
ls [<args>] vylistování adrešáře na vzdáleném serveru                           
put [OPTS] <lokalni_soubor> [-o <vzdaleny soubor>] odeslaní
   lokálního souboru na server
mput [OPTS] <lokalni soubory> odeslání lokálních souborů na
   server
mirror -R <lokalni_adresář> odeslání celého adresáře včetně
   souborů na server
mv <vzdaleny_soubor1> <vzdaleny_soubor2> přesunutí vzdáleného
   souboru do jiného adresáře. V případě přesunu v rámci
   jednoho adresáře se jedná o přejmenování souboru
rmdir [-f] <vzdaleny_adresar> smazání vzdáleného adresáře

Další dostupné příkazy lze zjistit pomocí:

help
V případě, že nemáte certifikát certifikační authority TERENA v systému jako důvěryhodný, je nutné stáhnout všechny certifikáty představující certificate-chain ze stránek http://pki.cesnet.cz/cs/ch-tcs-crt-crl.html a importovat je do systému jako důvěryhodné. V Linuxu toho docílíme nakopírováním souborů do adresáře /usr/share/ca-certificates/mozilla/ a vytvořením symbolických linků. Ukázka vytvoření symbolického linku pro certifikát AddTrust_External_Root.crt:
ln -s /usr/share/ca-certificates/mozilla/AddTrust_External_Root.crt /etc/ssl/certs/AddTrust_External_Root.pem

Následně je nutné přidat následující řádky do souboru /etc/lftp.conf:
set ssl:check-hostname yes
set ssl:verify-certificate yes
set ssl:ca-file „cesta k vašemu bundle certifikátu obsahující věrohodné certifikační autority“

Nastavení přenášení času souborů

Přestože obecně FTP protokol nepodporuje nastavování času souborů na serveru, při použití klienta lftp oproti serverům datových úložišť lze tuto funkcionalitu zapnout pomocí volby v konfiguračním souboru /etc/lftp.conf:

set ftp:use-mdtm-overloaded yes

Odkazy na zdroje o lftp

Stránky autora: http://lftp.yar.ru