Instalace serveru FTP (vsftpd) na Ubuntu 18.04 / 18.10 / 19.04 / 19.10

posted in: Articles | 0

předtím, Než začnete…

je překvapivé, jak mnoho webových vývojářů jsou stále netuší, SFTP a výhody přes FTP/FTPS. SFTP je dodáván s předinstalovaným linuxovým serverem a funguje stejně jako normální FTP, ale je bezpečnější a méně potíží s nastavením. Pokud váš FTP klient podporuje SFTP, měli byste jej použít!

  • jak nakonfigurovat SFTP pro kořen dokumentu webového serveru

instalovat vsftpd

začněme aktualizací seznamů balíčků a instalací vsftpd na Ubuntu 18.04 / 18.10 / 19.04 / 19.10.,

níže máme dva příkazy oddělené &&. První příkaz aktualizuje seznamy balíčků, aby se zajistilo, že získáte nejnovější verzi a závislosti pro vsftpd. Druhý příkaz pak stáhne a nainstaluje vsftpd. Stiskněte y a ENTER, když budete požádáni o pokračování.

sudo apt update && sudo apt install vsftpd

po instalaci zkontrolujte stav vsftpd

sudo service vsftpd status

nahoře vidíme, že náš FTP server je nyní v provozu.,

Konfigurovat Firewall

Pokud jste tak ještě neučinili, je doporučeno povolit ufw firewall pro Ubuntu 18.04 / 18.10 / 19.04 / 19.10. Před povolenímufw firewall se ujistěte, že přidáte pravidlo pro SSH, jinak se můžete ze serveru uzamknout, pokud jste vzdáleně připojeni. Pokud nechcete nastavit firewall, přeskočte na Krok 3.

sudo ufw allow OpenSSH

pojďme otevřít porty 20 a 21 pro FTP a porty 40000-50000 pro pasivní FTP. Otevřeme také port 990 pro TLS, který nastavíme později.,

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw allow 990/tcp

Nyní, povolte bránu firewall, pokud to není již. Stiskněte y a ENTER, pokud jste varováni před narušením připojení SSH.

sudo ufw enable

Chcete-li zkontrolovat stav brány firewall, spustit:

sudo ufw status

Pokud je brána firewall je spuštěn, měli byste vidět Status: active a pravidla brány firewall, které jsme právě přidali.

vytvořit FTP uživatele

nyní vytvoříme nového uživatele, kterého použijeme k přihlášení do FTP., V tomto příkladu vytvoříme nového uživatele s názvem ftpuser.

sudo adduser ftpuser

Vygenerujte silné heslo a udržujte jej v bezpečí.

můžete být také požádáni o zadání některých kontaktních informací. Stačí stisknout ENTER na každou z nich.

Pokud se chcete pouze ftpuser přihlásit přes FTP, měli byste zakázat jejich přístup k SSH na černou listinu, své uživatelské jméno v SSH config souboru. V opačném případě přeskočte na Krok 4.

otevřete SSH config v nano.,

sudo nano /etc/ssh/sshd_config

Přidejte následující na konec souboru nahrazení ftpuser s uživatelské chcete popřít, SSH a SFTP přístup. Zde můžete přidat více uživatelů oddělených jediným mezerou. (Chcete-li vložit do nano, stiskněte pravé tlačítko myši).

/etc/ssh/sshd_config
DenyUsers ftpuser

uložit soubor a ukončit, stiskněte tlačítko CTRL + X, stiskněte tlačítko Y a potom stiskněte ENTER.

restartujte službu SSH.,

sudo service sshd restart

oprávnění adresářů

nyní se musíte rozhodnout, kde tento nový uživatel FTP může prohlížet a nahrávat soubory.

vsftpd používá chroot vězení omezit uživatele do svých domovských adresářů a vyžaduje, aby domovský adresář není zapisovatelný. Z tohoto důvodu musíme nastavit některé adresáře a oprávnění.

Pokud plánujete používat tento uživatelský účet FTP k nahrávání souborů na webový server, pokračujte krokem 4.1. Pokud chcete nahrát pouze do domovské složky, přeskočte na krok 4.2.

4.1., Nahrát na webový Server

v mnoha případech chcete mít možnost nahrát soubory do kořenového adresáře dokumentu na webovém serveru.

Pokud jste sledovali předchozí průvodce pro nastavení více domén, dokument kořen může být umístěn někde v /var/www/test1.com/public_html v tomto případě, budete muset nastavit domovskou složku ftpuser do složky, nad kořen dokumentu: /var/www/test1.com (dosazením test1.com pro vlastní doménu).,

Pokud nepoužíváte více domén, předpokládáme, že používáte výchozí kořen dokumentu /var/www/html pro Apache i Nginx v Ubuntu 18.04 / 18.10 / 19.04 / 19.10. V tomto scénáři musíme vytvořit/var/www/ domovský adresář pro našeho uživateleftpuser.

nastavíme složku nad kořenem dokumentu jako domovský adresář pro ftpuser.

sudo usermod -d /var/www ftpuser

to umožní našemu uživateli FTP psát a měnit soubory v kořenovém adresáři dokumentu.,

sudo chown ftpuser:ftpuser /var/www/html

nyní přeskočte na Krok 5 a nakonfigurujte vsftpd.

4.2 Nahrát na Domovskou Složku

Pokud místo toho chcete, aby tento uživatel nahrát soubory na domovském adresáři, vytvořte nový adresář s názvem ftp v domovském adresáři uživatele a další v něm files. V tomto příkladu níže se náš uživatel nazývá ftpuser.

sudo mkdir /home/ftpuser/ftp

Nastavte vlastnictví ftp adresář nobody:nogroup.,

sudo chown nobody:nogroup /home/ftpuser/ftp

Nastavte oprávnění pro ftp adresář pomocí chmod tak, že je nelze zapisovat kdokoliv, jinak vsftpd vám nedovolí se přihlásit. a-w a = všechny/všichni - = odstranit w = povolení zápisu, tak, odeberte oprávnění k zápisu pro všechny.

sudo chmod a-w /home/ftpuser/ftp

dále vytvoříme nový adresář v /ftp kde uživatel může prohlížet a nahrávat soubory.,

sudo mkdir /home/ftpuser/ftp/files

přiřaďte vlastnictví tohoto adresáře našemu novému uživateli FTP, jinak do něj nebudou moci psát.

sudo chown ftpuser:ftpuser /home/ftpuser/ftp/files

Configure vsftpd

než začnete používat FTP na Ubuntu, musíme provést několik změn v konfiguračním souboru vsftpd 18.04 / 18.10 / 19.04 / 19.10.

před úpravou konfiguračního souboru vytvořte zálohu.

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

nyní otevřete konfigurační soubor v editoru nano.,

sudo nano /etc/vsftpd.conf

Jedná se o poměrně velký soubor, ale je většinou plný komentářů, které vám pomohou.

musíte jít dolů soubor a ujistěte se, že nastavení odpovídá těm níže. Poznámka: můžete hledat v nano pomocí CTRL + W

Podívejte se na #write_enable=YES a vložte jej tím, že odstraní znak#. To umožní uživatelům FTP psát soubory na server.

etc/vsftpd.,conf
write_enable=YES

podívejte se na #chroot_local_user=YES a uvolněte jej odstraněním znaku#. To zabrání uživatelům FTP procházet mimo svůj vlastní adresář.

etc/vsftpd.conf
chroot_local_user=YES

podívejte se na #local_umask=022 a odpojte jej odstraněním znaku#. Tím získáte nahrané soubory a složky správná oprávnění.

etc/vsftpd.conf
local_umask=022

nyní musíme přidat některé směrnice, které v souboru neexistují.,

protože Linux nezobrazuje soubory začínající tečkou, soubory jako .htaccess nebudou viditelné na FTP. To může být problém, pokud máte v úmyslu použít Apache a chcete pracovat s .htaccess.

vynutit vsftpd zobrazit názvy souborů, které začínají tečkou, vložte následující na konec souboru. (Chcete-li vložit do nano, stiskněte pravé tlačítko myši)

etc/vsftpd.conf
force_dot_files=YES

nakonec přidáme některé rozsahy portů pro pasivní FTP, abychom se ujistili, že je k dispozici dostatek připojení. Vložte následující do dolní části souboru., (Chcete-li vložit do nano, stiskněte pravé tlačítko myši)

etc/vsftpd.conf
pasv_min_port=40000pasv_max_port=50000

Pokud jste postupovali Krok 4.2 dříve a chcete pouze tento uživatel nahrát soubory do domovského adresáře, musíme říct, vsftpd, že local_root /ftp složku jsme vytvořili dříve.

nepřidávejte tyto dva řádky, pokud chcete, aby uživatel nahrál do kořenového adresáře webového dokumentu!

etc/vsftpd.conf
user_sub_token=$USERlocal_root=/home/$USER/ftp

jsme hotovi s vsftpd.conf pro tuto chvíli, ale vrátí se v pozdějších krocích k nastavení zabezpečení a SSL.,

uložit soubor a ukončit, stiskněte tlačítko CTRL + X, stiskněte tlačítko Y a potom stiskněte ENTER.

restartujte vsftpd.

sudo systemctl restart vsftpd

Test FTP

nyní můžeme vyzkoušet vsftpd, jestli se můžeme přihlásit jako uživatel, který jsme vytvořili dříve. Doporučujeme FileZilla, která funguje na Windows, Mac a Linux.

zadejte IP serveru, uživatelské jméno a heslo FTP, které jste vytvořili dříve, a klikněte na Quickconnect.,

Výše můžeme vidět, máme úspěšně připojena a na webu root directory html se zobrazí, i když se to může lišit na vašem serveru.

zkuste nahrát, vytvářet a upravovat složky a soubory v kořenovém adresáři webu, abyste zajistili, že oprávnění fungují správně.

všimnete si, že máme varování ve stavu FileZilla: nezabezpečený server, nepodporuje FTP přes TLS.“Důrazně doporučujeme, abyste nyní nakonfigurovali TLS tak, aby přihlašovací údaje a provoz byly šifrovány přes připojení FTP.,

Pokud máte problémy s přihlášením na FTP server, zkuste zkontrolovat protokol vsftpd. Chcete-li zobrazit posledních 200 záznamů pomocí tail:

sudo tail /var/log/vsftpd.log -n 200

Secure FTP s TLS (volitelné)

je důležité, aby pár věcí na paměti při použití FTP – to není šifrována ve výchozím nastavení, což znamená, vaše pověření a soubory, které odesíláte, jsou náchylné k odposlechu. Chcete-li to vyřešit, měli byste se připojit k vsftpd pomocí FTPS (FTP přes SSL/TLS).

začněme vytvořením nového certifikátu pomocí nástroje openssl.,

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

budete vyzváni k zadání některých údajů, jako je země atd. Nemusíš to vyplňovat. Stačí stisknout ENTER pro výchozí nastavení.

nyní, když byl vytvořen váš soukromý klíč, musíme provést několik změn v konfiguračním souboru vsftpd.

otevřete konfigurační soubor v editorunano.

sudo nano /etc/vsftpd.conf

vyhledejte následující řádek: (Poznámka: můžete hledat v nano pomocí CTRL + W)

etc/vsftpd.,conf
ssl_enable=NO

změňte jej na:

etc / vsftpd.conf
ssl_enable=YES

Vložit v následujícím pod ním.

etc/vsftpd.conf

Uložte soubor a ukončete (stiskněte CTRL + X, stiskněte tlačítko Y a potom stiskněte ENTER).

restartujte vsftpd.

sudo systemctl restart vsftpd

testování TLS s FileZilla

nyní můžeme testovat TLS. Doporučujeme FileZilla, která funguje na Windows, Mac a Linux.,

zadejte IP serveru, uživatelské jméno a heslo FTP, které jste vytvořili dříve, a klikněte na Quickconnect.

můžete být upozorněni neznámým certifikátem. Klepněte na tlačítko vždy důvěřovat tomuto certifikátu v budoucích relacích a klepněte na tlačítko OK.

Pokud jste připojeni přes TLS, řekne vám to v protokolu připojení. Uvidíte také visací zámek v pravém dolním rohu.

jste hotovi!,

4.79 (42 hlasů)

Dejte mi vědět, jestli to pomohlo. Následujte mě na Twitteru, Facebook a YouTube, nebo 🍊 koupit mi smoothie.

p. s. Díky AI 🤖jsem zvýšil své příjmy z AdSense o 68%. Přečtěte si můj ezoic recenzi zjistit, jak.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *