The minimum security setup for any VPS: SSH keys only, firewall, fail2ban and automatic security updates. Real commands.
Any public VPS gets brute-forced within minutes of going online. This is the baseline that stops it. Works on any Ubuntu/Debian server - including ours.
# on YOUR computer: ssh-keygen -t ed25519 -C "vps" ssh-copy-id root@YOUR_SERVER_IP ssh root@YOUR_SERVER_IP # must log in WITHOUT password - verify!
sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config systemctl reload ssh # keep this session open; test a NEW connection before closing it
apt install -y ufw fail2ban ufw default deny incoming && ufw default allow outgoing ufw allow OpenSSH && ufw enable cat > /etc/fail2ban/jail.local <<'EOF' [sshd] enabled = true maxretry = 5 bantime = 1h EOF systemctl enable --now fail2ban
apt install -y unattended-upgrades dpkg-reconfigure -plow unattended-upgrades # choose Yes
That's the 80/20 of server security: keys, firewall, bans, patches. Want to skip step 1–2? Our servers ship hardened by default - see plans.