1. Update Your System
sudo apt update && sudo apt upgrade -y2. Set Your Timezone
sudo timedatectl set-timezone America/New_York
# List available timezones:
timedatectl list-timezones3. Create a Non-Root User
adduser deploy
usermod -aG sudo deploy4. Set Up SSH Keys for the New User
# On your local machine
ssh-copy-id deploy@YOUR_IP5. Harden SSH
Edit /etc/ssh/sshd_config:
PermitRootLogin no
PasswordAuthentication nosudo systemctl restart sshd6. Set Up a Firewall
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable7. Enable Automatic Updates
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades8. Set Up Swap (if needed)
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/fstab9. Install Fail2Ban
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban10. Set Your Hostname
sudo hostnamectl set-hostname my-breeze
echo "127.0.1.1 my-breeze" | sudo tee -a /etc/hostsNext Steps
- Deploy your application or install a web server
- Configure DNS to point your domain to your Breeze IP
- Set up SSL certificates with Let's Encrypt
- Configure backups