První kroky s novým VPS na Ubuntu 24.04: checklist na 30 minut
Právě jste dostali přístup k novému VPS? Projděte si checklist: aktualizace, uživatel se sudo, SSH klíče, firewall, časové pásmo a swap.
Nový VPS s čerstvým Ubuntu 24.04 LTS je prázdný list – a zároveň cíl automatických skenerů, které ho najdou během několika minut po spuštění. Než na server nasadíte web nebo aplikaci, vyplatí se projít krátký základní checklist. Zabere zhruba půl hodiny a ušetří vám spoustu problémů.
1. Přihlášení a aktualizace systému
Poskytovatel vám obvykle pošle IP adresu a heslo k účtu root (nebo už nahraný SSH klíč). Přihlaste se:
ssh [email protected]
Hned jako první aktualizujte balíčky:
apt update && apt full-upgrade -y
Pokud se aktualizovalo jádro, zobrazí se hláška o nutném restartu. Ověříte to takto:
ls /var/run/reboot-required 2>/dev/null && echo "Je potřeba restart"
Restartujte příkazem reboot a po minutě se znovu připojte.
2. Vytvořte běžného uživatele se sudo
Pracovat trvale jako root je zbytečné riziko – jeden překlep v rm a je hotovo. Vytvořte si vlastního uživatele:
adduser jan
usermod -aG sudo jan
adduser se zeptá na heslo a pár nepovinných údajů. Skupina sudo mu umožní spouštět příkazy s právy roota. Otestujte to v novém terminálu:
ssh [email protected]
sudo whoami # mělo by vypsat: root
3. SSH klíč místo hesla
Na svém počítači vygenerujte klíč (pokud ho ještě nemáte) a nahrajte ho na server:
ssh-keygen -t ed25519 -C "jan@notebook"
ssh-copy-id [email protected]
Až ověříte, že se přihlásíte bez hesla, vypněte na serveru přihlašování heslem a přímý login roota. V Ubuntu 24.04 je nejčistší vytvořit vlastní soubor v adresáři sshd_config.d:
sudo nano /etc/ssh/sshd_config.d/99-hardening.conf
PasswordAuthentication no
PermitRootLogin no
KbdInteractiveAuthentication no
Zkontrolujte syntaxi a načtěte konfiguraci:
sudo sshd -t && sudo systemctl reload ssh
Pozor: Nezavírejte stávající SSH relaci, dokud si v druhém okně neověříte, že přihlášení klíčem funguje. Jinak se můžete zamknout venku a zbude vám jen webová konzole poskytovatele.
Pozor také na soubor /etc/ssh/sshd_config.d/50-cloud-init.conf, který některé cloudové obrazy vytvářejí s PasswordAuthentication yes. Platí první nalezená hodnota a soubory se načítají abecedně, takže 50-… má přednost před 99-…. Ověřte efektivní nastavení:
sudo sshd -T | grep -E 'passwordauthentication|permitrootlogin'
Pokud vidíte yes, upravte nebo smažte zmíněný cloud-init soubor.
4. Firewall
Ubuntu má předinstalovaný UFW. Povolte SSH před zapnutím firewallu:
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose
Porty pro web (80, 443) přidáte, až budete instalovat webový server.
5. Časové pásmo a hostname
Správný čas je důležitý pro logy i cron úlohy:
sudo timedatectl set-timezone Europe/Prague
sudo hostnamectl set-hostname web01
timedatectl
Synchronizaci času zajišťuje systemd-timesyncd, který je v Ubuntu aktivní ve výchozím stavu – ve výstupu timedatectl byste měli vidět System clock synchronized: yes.
6. Swap na malých VPS
VPS s 1–2 GB RAM často swap nemají vůbec. Jakmile dojde paměť, kernel začne ukončovat procesy (OOM killer). Malý swap soubor slouží jako pojistka:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Ověřte příkazem free -h.
7. Automatické bezpečnostní aktualizace
Balíček unattended-upgrades bývá na Ubuntu nainstalovaný. Ujistěte se, že je zapnutý:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
8. Rychlá kontrola na závěr
| Kontrola | Příkaz |
|---|---|
| Otevřené porty | sudo ss -tulpn |
| Stav firewallu | sudo ufw status |
| Volné místo | df -h |
| Paměť a swap | free -h |
| Chybné služby | systemctl --failed |
Pokud ss -tulpn ukazuje naslouchající služby, o kterých nevíte, zjistěte, co to je, a případně je vypněte přes sudo systemctl disable --now <služba>.
Co dál
Teď máte bezpečný základ. Typický další krok je instalace webového serveru (nginx), HTTPS certifikátu přes Let’s Encrypt a nastavení záloh. Pokud nechcete příkazy psát ručně, můžete server připojit do ColdHost AI přes SSH: AI navrhne příkazy, vy každý schválíte jedním kliknutím a výstup se vrátí zpět k analýze.