
Vsftpd (tj. velmi bezpečný FTP démon) je software FTP serveru pro Linux a další systémy podobné Unixu. Software FTP serveru usnadňuje přenos souborů z klientského počítače na server a naopak.
V tomto tutoriálu se dozvíte, jak instalovat Vsftpd na Ubuntu 20.04 a povolit bezpečný přenos souborů (FTPS) přes SSL/TLS.
Předpoklady
- Systém Linux Ubuntu 20.04
- Uživatel s funkcí sudo
- Klient FTP s povoleným SSL, jako je FileZilla
Nainstalujte Vsftpd na Ubuntu
Vsftpd je k dispozici ve výchozím úložišti balíčků Ubuntu. Můžete začít aktualizací dostupných balíčků pomocí příkazu níže.
Aktualizace $ sudo apt
Dále spusťte následující příkaz k instalaci Vsftpd.
$ sudo apt install vsftpd
Zadejte y pokud budete vyzváni k pokračování v instalaci.
Jakmile je Vsftpd úspěšně nainstalován, můžete zkontrolovat verzi pomocí příkazu níže.
$ vsftpd -v
Také ověřte stav serveru Vsftpd následovně.
$ sudo systemctl status vsftpd

vsftpd služba by již měla být aktivní. Stiskněte q pro návrat do příkazového řádku.
Pokud služba vsftpd ještě není aktivní, můžete ji spustit dalším příkazem.
$ sudo systemctl start vsftpd
Nakonfigurujte Vsftpd
Existuje mnoho možností, které můžete nakonfigurovat pro vsftpd, ale v tomto tutoriálu prozkoumáme pouze základy. Otevřete konfigurační soubor vsftpd pomocí následujícího příkazu.
$ sudo nano /etc/vsftpd.conf
Uvidíte, že různé možnosti vsftpd jsou dobře vysvětleny v konfiguračním souboru. Stačí si přečíst pokyny, abyste pochopili, co chcete povolit nebo zakázat. Níže je uvedeno několik příkladů.
Nakonfigurujte anonymní FTP přístup
Ve výchozím nastavení je anonymní FTP zakázáno. Doporučujeme ponechat toto výchozí nastavení tak, jak je. Pokud však z nějakého důvodu chcete povolit anonymní přístup FTP pro účely testování, změňte hodnotu parametru anonymous_enable možnost od NE do ANO.
Prozatím to nechte tak, jak je.

Povolit místním uživatelům přihlášení
Ve výchozím nastavení se místní uživatelé mohou přihlásit. Pokud chcete místním uživatelům zabránit v přihlášení k serveru Vsftpd, změňte hodnotu local_enable z ANO na NE.

Můžete také povolit pouze určitým místním uživatelům přihlášení k serveru Vsftpd. Chcete-li to provést, ujistěte se, že local_enable je nastavte na ANO.
Poté přidejte následující řádky.
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
Uložte a zavřete soubor vsftpd.conf.
Dále vytvořte soubor se seznamem uživatelů pomocí dalšího příkazu a zadejte povoleného uživatele po jednom na řádek.
$ sudo nano /etc/vsftpd.userlist
Uložte a zavřete soubor seznamu uživatelů.
Restartujte vsftpd pomocí:
$ sudo systemctl restart vsftpd
Povolit příkaz FTP zápisu
Chcete-li uživatelům FTP umožnit vytvářet, mazat, přejmenovávat a ukládat soubory, zrušte označení write_enable a ujistěte se, že je nastavena na ANO.

Než půjdeme dále, přihlaste se k serveru Vsftpd a ověřte, že funguje. Prozatím uložte všechny změny a zavřete konfigurační soubor vsftpd.
Přihlaste se k serveru Vsftpd
Za tímto účelem vytvořte testovacího uživatele a přiřaďte mu heslo následovně.
$ sudo useradd -m myftpuser
$ sudo passwd myftpuser
Poznámka: Pokud jste povolili seznam uživatelů vsftpd dříve, nezapomeňte odpovídajícím způsobem přidat uživatele ftp do /etc/vsftpd.userlist. Ve výchozím nastavení mají uživatelé přístup ssh, doporučuje se zakázat uživatelům FTP přístup k shellu.
Nyní spusťte FTP klienta s povoleným SSL, jako je FileZilla, a poté se přihlaste pomocí nově vytvořeného testovacího uživatele.
V mém případě mě FileZilla upozornila, že server je nezabezpečený, protože nepodporuje FTP přes TLS.

Zrušte připojení. Pojďme to opravit v další sekci.
Povolte SSL/TLS pro bezpečný přenos souborů
Chcete-li povolit bezpečný přenos souborů prostřednictvím TLS, postupujte následovně.
Nejprve otevřete konfigurační soubor vsftpd pomocí příkazu níže.
$ sudo nano /etc/vsftpd.conf
Dále vyhledejte rsa_cert_file a rsa_private_key_file možnosti a aktualizujte hodnoty, jak je uvedeno níže.
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key
Hledejte také ssl_enable a změňte hodnotu na YES.
ssl_enable=YES

Uložte a zavřete konfigurační soubor vsftpd.
Vygenerujte soukromý klíč a certifikát
Nyní byste museli vytvořit soukromý klíč a vygenerovat certifikát TLS/SSL pomocí openssl. Pokud máte doménu směřující na FTP server, můžete použít bezplatný certifikát SSL Let's Encrypt.
Chcete-li vygenerovat soukromý klíč, spusťte:
$ sudo openssl genrsa -out /etc/ssl/private/vsftpd.key
Dále vygenerujte žádost o podpis certifikátu pomocí příkazu níže. Budete vyzváni k zadání některých informací, jako je vaše země, město, e-mailová adresa atd. Přečtěte si prosím pozorně pokyny.
$ sudo openssl req -new -key /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.csr
Nyní vygenerujte a podepište certifikát, který bude platný po dobu 365 dní, a to následovně.
$ sudo openssl x509 -req -days 365 -in /etc/ssl/certs/vsftpd.csr -signkey /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.pemRestartujte vsftpd pomocí:
$ sudo systemctl restart vsftpdZkuste se znovu připojit k serveru Vsftpd.
![]()
FileZilla se tentokrát jistě dokázala bezpečně připojit přes TLS. Můžete si bezpečně vybrat možnost vždy tomuto certifikátu důvěřovat v budoucích relacích. Poté klikněte na OK pokračovat v připojení.
![]()
Pokud se pokusíte připojit k FTP serveru přes příkazový řádek, který nepodporuje FTP přes TLS, zobrazí se chyba. Například:
$ ftp 192.168.100.168![]()
Toto je další důkaz, že váš server Vsftpd je skutečně povolen pro bezpečný přenos souborů přes TLS.
Závěr
V tomto tutoriálu jsme vám ukázali, jak nainstalovat server Vsftpd na Ubuntu 20.04. Popsali jsme také, jak povolit bezpečný přenos souborů přes protokol TLS. V tomto článku jsme se zabývali pouze základními možnostmi Vsftpd, ale další možnosti můžete prozkoumat na manuálové stránce možností konfigurace vsftpd.
Nainstalujte Apache Tomcat 9 Server na Ubuntu 20.04 Nainstalujte WordPress s LAMP Stack na Ubuntu 20.04Ubuntu