FTP je zkratka pro „File Transfer Protocol“ a je to skvělý protokol pro stahování souborů ze vzdáleného nebo místního serveru nebo nahrávání souborů na server. Používání FTP se po správném nastavení ukazuje jako docela základní úkol. Funguje to tak, že server naslouchá připojení (ve výchozím nastavení na portu 21) od klientů. Klienti mohou pomocí svého uživatelského účtu přistupovat ke vzdálenému adresáři a poté tam stahovat nebo nahrávat soubory v závislosti na oprávněních, která jim byla udělena. Je také možné nakonfigurovat anonymní autorizaci, což znamená, že uživatelé nebudou potřebovat vlastní účet, aby se mohli připojit k serveru FTP.
Na Ubuntu Linux je k dispozici velké množství různých softwarových balíků pro FTP servery a klienty. Jako FTP klienta můžete dokonce použít výchozí grafické uživatelské rozhraní a nástroje příkazového řádku. Velmi oblíbeným a vysoce konfigurovatelným balíkem FTP serveru je vsftpd, dostupný pro mnoho systémů Linux, včetně Ubuntu.
V této příručce projdeme pokyny krok za krokem k instalaci vsftpd na Ubuntu. Ukážeme si také, jak nakonfigurovat FTP server pomocí různých nastavení, pak jak používat příkazový řádek, GNOME GUI nebo FTP klientský software pro připojení k FTP serveru.
V některých situacích postačí FTP, ale pro připojení přes internet se doporučuje SFTP. Je to proto, že FTP není bezpečné používat přes internetové připojení, protože vaše přihlašovací údaje a data jsou přenášena bez šifrování. „S“ v SFTP znamená „Secure“ a tuneluje protokol FTP prostřednictvím SSH, čímž poskytuje šifrování potřebné k navázání zabezpečeného připojení. Další informace o SFTP naleznete v našem průvodci Jak bezpečně přenášet soubory pomocí SFTP.
V tomto tutoriálu se naučíte:
- Jak nainstalovat a nakonfigurovat vsftpd na Ubuntu
- Jak nastavit uživatelský účet FTP
- Jak se připojit k serveru FTP pomocí příkazového řádku
- Jak se připojit k serveru FTP prostřednictvím grafického uživatelského rozhraní
- Jak nakonfigurovat anonymní přihlášení FTP
- Jak změnit výchozí port naslouchání FTP
- Odstraňování problémů s chybou připojení FTP „připojení odmítnuto“
Připojení k FTP serveru na Ubuntu Linux
Kategorie | Požadavky, konvence nebo použitá verze softwaru |
---|---|
Systém | Ubuntu Linux |
Software | vsftpd |
Jiné | Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz. |
Konvence | # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel |
instalace vsftpd
Nainstalujte vsftpd na svůj systém Ubuntu zadáním tohoto příkazu do terminálu:
$ sudo apt install vsftpd
Konfigurace serveru vsftpd
- Vždy je nejlepším postupem ponechat si záložní kopii původního konfiguračního souboru pro případ, že by se později něco pokazilo. Pojďme přejmenovat výchozí konfigurační soubor:
$ sudo mv /etc/vsftpd.conf /etc/vsftpd.conf_orig
- Vytvořte nový konfigurační soubor vsftpd pomocí nano nebo libovolného textového editoru, který preferujete:
$ sudo nano /etc/vsftpd.conf
- Zkopírujte do svého souboru následující základní konfiguraci. Tato konfigurace bude stačit pro základní FTP server a může být později upravena pro specifické potřeby vašeho prostředí, jakmile ověříte, že funguje správně:
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO pasv_enable=Yes pasv_min_port=10000 pasv_max_port=10100 allow_writeable_chroot=YES
Vložte výše uvedené řádky do nově vytvořeného
/etc/vsftpd.conf
a poté uložte změny a zavřete soubor.
konfigurační soubor vsftpd - Vestavěný firewall Ubuntu bude ve výchozím nastavení blokovat provoz FTP, ale následující příkaz vytvoří v UFW výjimku, která provoz povolí:
$ sudo ufw allow from any to any port 20,21,10000:10100 proto tcp
- S uloženým konfiguračním souborem a aktualizovanými pravidly brány firewall restartujte vsftpd, abyste použili nové změny:
$ sudo systemctl restart vsftpd
Vytvořit uživatele FTP
Náš FTP server je připraven přijímat příchozí připojení, takže nyní je čas vytvořit nový uživatelský účet, který použijeme pro připojení ke službě FTP.
- Tento první příkaz použijte k vytvoření nového účtu s názvem
ftpuser
a druhý příkaz pro nastavení hesla pro účet:$ sudo useradd -m ftpuser $ sudo passwd ftpuser New password: Retype new password: passwd: password updated successfully
- Abyste si ověřili, že vše funguje správně, měli byste uložit alespoň jeden soubor do domovského adresáře ftpuser. Tento soubor by měl být viditelný, když se v dalších krocích přihlásíme k FTP.
$ sudo bash -c "echo FTP TESTING > /home/ftpuser/FTP-TEST"
Připojte se k serveru FTP pomocí příkazového řádku
Nyní byste měli být schopni se připojit k vašemu FTP serveru buď pomocí IP adresy nebo názvu hostitele. Nejprve se spuštěním následujícího příkazu ujistěte, že je ve vašem systému nainstalován výchozí nástroj FTP klienta. Buď nainstaluje software, nebo vám sdělí, že již v systému existuje.
$ sudo apt install ftp
Chcete-li se připojit z příkazového řádku a ověřit, že vše funguje, otevřete terminál a pomocí příkazu ftp Ubuntu se připojte k vaší adrese zpětné smyčky (127.0.0.1).
$ ftp 127.0.0.1Připojení k FTP serveru pomocí příkazového řádku
Jak můžete vidět na snímku obrazovky výše, dokázali jsme se přihlásit k serveru FTP zadáním uživatelského jména a hesla, které jsme nakonfigurovali dříve. Dále zkusme vydat ls
příkaz, který by měl vypsat testovací soubor, který jsme vytvořili v předchozích krocích.
ftp> lsSeznam našeho testovacího souboru, abychom zajistili, že můžeme zobrazit obsah FTP serveru
Váš výstup by měl vypadat jako na snímku obrazovky výše, což znamená úspěšné přihlášení a ls
příkaz, který odhalí náš testovací soubor, který jsme vytvořili dříve.
Připojte se k FTP serveru přes GUI GNOME
Pokud chcete, můžete se také připojit k vašemu FTP serveru pomocí GUI. Existuje mnoho možností pro FTP klienty, ale výchozí GUI GNOME na Ubuntu již přichází s možností připojení k FTP serverům ze správce souborů. Zde je návod, jak jej použít pro připojení k vašemu FTP serveru.
- Otevřete správce souborů z nabídky Aktivity nebo z panelu rychlého spuštění.
- Klikněte na „Další umístění“ a zadejte
ftp://127.0.0.1
v poli „Připojit k serveru“ ve spodní části okna a klikněte na připojit.
Připojení k FTP serveru pomocí správce souborů GNOME - Vyberte „registrovaný uživatel“ a poté zadejte přihlašovací údaje k FTP účtu, který jsme dříve nastavili, a klikněte na připojit. Zadání přihlašovacích údajů uživatele FTP
- Po úspěšném připojení se zobrazí testovací soubor, který jste vytvořili dříve. Nyní si budete moci stáhnout a zobrazit tento soubor nebo nahrát svůj vlastní obsah do adresáře. Úspěšné připojení k FTP serveru, ukazuje náš testovací soubor
Povolit anonymní přístup ve vsftpd
Zatím jsme viděli, jak vytvořit nové uživatele, kteří mají přístup k FTP serveru. Pokud chcete, aby ostatní měli přístup k vašemu FTP serveru bez zadání uživatelského jména a hesla, můžete nakonfigurovat anonymní ověřování. Chcete-li jej nastavit, postupujte podle níže uvedených kroků.
- Nejprve budeme muset upravit
/etc/vsftpd.conf
otevřete jej pomocí nano nebo jiného textového editoru.$ sudo nano /etc/vsftpd.conf
- Dále vyhledejte
anonymous_enable=NO
řádek a změňte nastavení naYES
.anonymous_enable=YES
- Až budete hotovi, ukončete tento soubor při ukládání nových změn a poté restartujte službu vsftpd, aby se změny projevily.
$ sudo systemctl restart vsftpd
- Chcete-li otestovat anonymní přihlášení, zadejte
ftp 127.0.0.1
použijteanonymous
jako vaše uživatelské jméno a prázdné heslo. Měli byste obdržet230 Login successful
zpráva, jak je znázorněno na snímku obrazovky níže.
Přihlášení k serveru FTP pomocí anonymního
Změnit výchozí číslo portu FTP
Ve výchozím nastavení naslouchá protokol FTP na portu 21 pro ověření uživatele a na portu 20 pro přenos dat. Toto chování však můžeme změnit drobnou úpravou souboru /etc/vsftpd.conf
soubor. V dolní části souboru použijte listen_port
direktivu k určení jiného portu, který má vsftpd použít. Například přidání následujícího řádku dá vsftpd pokyn, aby naslouchal na portu 2121:
listen_port=2121
Úvahy na závěr
V této příručce jsme viděli, jak použít softwarový balíček vsftpd k vytvoření FTP serveru na Ubuntu Linux. Také jsme se naučili, jak používat příkazový řádek nebo GUI GNOME jako FTP klienta pro připojení k serveru. Podle této příručky mohou počítače ve vaší místní síti přistupovat k vašemu systému a ukládat a načítat soubory, a to buď prostřednictvím příkazového řádku, nebo prostřednictvím preferovaného FTP klienta.
Odstraňování problémů
Nejčastější chybou, kterou můžete obdržet, je zpráva „Připojení odmítnuto“ při pokusu o připojení k serveru. Může to být z různých důvodů, ale běžně je to spojeno s firewallem blokujícím připojení nebo se špatně nakonfigurovaným souborem vstpd. Ujistěte se, že port FTP není blokován vaší bránou firewall provedením tohoto příkazu:
$ sudo ufw allow from any to any port 20,21,10000:10100 proto tcp
Zkontrolujte také stav služby vsftpd, abyste se ujistili, že běží a nenarazila na žádné chyby při spuštění.
$ systemctl status vsftpdKontrola stavu služby vsftpd
Pomocí následujících příkazů spusťte vsftpd nebo restartujte službu po použití změn konfigurace.
$ sudo systemctl start vsftpd OR $ sudo systemctl restart vsftpd
A konečně, mějte na paměti, že za blokování vašeho připojení může být také zodpovědný router nebo externí firewall. Pokud se vám podaří úspěšně připojit k vašemu FTP serveru pomocí ftp 127.0.0.1
příkaz na samotném serveru a provedli jste výše uvedené kroky pro odstraňování problémů, přesto se nemůžete připojit k serveru FTP ze vzdáleného systému, pak je pravděpodobně mezi těmito dvěma systémy nějaké zařízení, které blokuje připojení.