Complete Vultr Ubuntu Setup Guide: Deploy Your Server in 10 Minutes (2026)

You want a server. You want it now. Not next week, not after three support tickets — now. That's exactly what Vultr delivers. Deploy a Ubuntu VPS in under 60 seconds, have it configured and production-ready in 10 minutes. This guide walks you through every step.

We're using Ubuntu 22.04 LTS — the long-term support release that works for everything from a personal blog to a production API. Everything here applies to Ubuntu 24.04 LTS as well, with minor differences noted where relevant.

Step 1: Deploy Your Vultr Server

Head to Vultr's homepage and create an account if you haven't already. Once logged in, click "Deploy" on the dashboard.

1 Choose Cloud Compute — this gives you the best balance of price and performance for most workloads.

2 Select your location. Pick something geographically close to your users. For Asia-Pacific traffic, Singapore or Tokyo are your best bets. For US/EU, choose accordingly.

3 Pick Ubuntu 22.04 LTS x64 as your OS image. It's in the "Application" section under "Ubuntu."

4 Choose your plan. Here's a quick breakdown:

Use CaseRecommended PlanSpecPrice
Personal blog / small siteStarter1 vCPU, 1GB RAM, 32GB NVMe$5/mo
WordPress / dev serverBasic2 vCPU, 2GB RAM, 64GB NVMe$10/mo
Production web appGeneral4 vCPU, 8GB RAM, 200GB NVMe$40/mo
AI / heavy workloadsHigh Frequency4 vCPU, 8GB RAM, 200GB NVMe$60/mo

5 Under Additional Features, check "Enable IPv6" and "Automatic Backups" if you want redundancy. Private networking is free — enable it if you're running multi-server setups.

6 Set your root password. This is critical — make it long, random, and store it somewhere safe (a password manager, ideally).

7 Click "Deploy Now". Your server is typically online in under 60 seconds. You'll get an email with the server IP and root credentials.

Pro tip: After deployment, copy your server's IP address immediately. You'll need it for SSH access. Save it in your password manager alongside the root password.

Step 2: SSH Into Your Server

Open your terminal (macOS Terminal, Windows Terminal, or PowerShell) and connect:

ssh root@YOUR_SERVER_IP

Replace YOUR_SERVER_IP with your actual Vultr server IP. You'll be prompted for the root password you set during deployment.

If you're on Windows, use PowerShell or PuTTY. For PuTTY, enter the IP address, port 22, and connection type SSH.

First Things First: Update Everything

Once you're in, run the update immediately. Fresh deployments often have outdated packages:

apt update && apt upgrade -y

This fetches and installs all the latest security patches and package updates. It takes 1-2 minutes on a fresh system.

Step 3: Create a New User (Don't Use Root)

Running everything as root is a security risk. Create a regular user with sudo privileges:

adduser deployer
usermod -aG sudo deployer

Replace deployer with whatever username you prefer. When prompted, set a strong password. You can skip the extra info prompts by pressing Enter through them.

Now switch to your new user for daily operations:

su - deployer

Step 4: Set Up SSH Keys (Critical for Security)

Password authentication is a liability — it's only a matter of time before someone brute-forces your server. SSH keys are orders of magnitude more secure.

On your local machine (not the server), generate an SSH key pair if you don't already have one:

ssh-keygen -t ed25519 -C "your_email@example.com"

Press Enter to accept the default file location. Optionally add a passphrase for an extra layer of security — but note it down somewhere.

Copy your public key to the server:

ssh-copy-id deployer@YOUR_SERVER_IP

Enter your deployer user's password when prompted. This installs your public key on the server so you can log in without a password.

Test it:

ssh deployer@YOUR_SERVER_IP

You should connect without being asked for a password. If it works, password authentication is disabled for this user.

Before disabling password auth, make absolutely sure your SSH key is working. If you lock yourself out, you'll need to access the Vultr console (KVM) to recover — it's a hassle. Verify the key works twice before proceeding.

Disable Password Authentication on the Server

As root, open the SSH config file:

sudo nano /etc/ssh/sshd_config

Find and modify these lines:

PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no

Save the file (Ctrl+O, then Enter, then Ctrl+X) and restart SSH:

sudo systemctl restart sshd

Now your server is significantly more secure. No passwords, no root login, only your specific SSH key can access it.

Step 5: Configure the Firewall (UFW)

Ubuntu comes with UFW (Uncomplicated Firewall). Enable it, but configure rules first so you don't lock yourself out:

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

This allows SSH (port 22), HTTP (port 80), and HTTPS (port 443). If you're running a custom service on a different port, add it with sudo ufw allow PORT/tcp.

Check the status anytime:

sudo ufw status verbose

Step 6: Install Common Software

Here's the stack most people need. Install only what applies to your project:

# Nginx (web server)
sudo apt install nginx -y

# Python 3 and pip
sudo apt install python3 python3-pip -y

# Git
sudo apt install git -y

# Certbot (for SSL certificates)
sudo apt install certbot python3-certbot-nginx -y

# Docker (if you need containers)
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

After Docker installation, log out and back in for the group change to take effect:

exit
ssh deployer@YOUR_SERVER_IP

Step 7: Set Up a Simple Web Server (Nginx Example)

Let's verify everything works. Start Nginx and visit your server's IP in a browser:

sudo systemctl start nginx
sudo systemctl enable nginx

Open your browser and go to http://YOUR_SERVER_IP. You should see the default Nginx welcome page. That's your server — live and running.

Step 8: Set Up SSL (HTTPS) — Free with Let's Encrypt

If you're serving a domain, get free SSL in under 2 minutes:

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Follow the prompts — Certbot handles the certificate issuance and Nginx configuration automatically. Certificates renew automatically too. Zero maintenance after setup.

Case Study: Deploying a Python API on Vultr

Here's a real example of deploying a FastAPI application on your new Vultr server:

# Install FastAPI and Uvicorn
pip3 install fastapi uvicorn

# Create your app
cat > ~/api.py << 'EOF'
from fastapi import FastAPI
app = FastAPI()

@app.get("/")
def read_root():
    return {"message": "Hello from Vultr!"}

@app.get("/health")
def health():
    return {"status": "ok"}
EOF

# Run it
uvicorn --host 0.0.0.0 --port 8000 ~/api:app &

Open http://YOUR_SERVER_IP:8000 in your browser. Your API is live. For production, you'd use a process manager like systemd or a reverse proxy with Nginx, but this shows how quickly you can go from zero to running.

Production tip: For a real Python API, create a systemd service file so your app auto-starts on reboot. That's outside this guide's scope, but it's a 5-minute setup that's worth every second.

Common Issues and Fixes

SSH Connection Refused

Most common cause: the SSH service isn't running or the firewall blocked port 22. Check with sudo systemctl status sshd and sudo ufw status.

Server Not Responding to HTTP

Make sure Nginx is running: sudo systemctl status nginx. Also check that your UFW rules allow port 80.

apt update Hangs

Your server's DNS might not be configured. Run sudo nano /etc/resolv.conf and add nameserver 8.8.8.8, then try again.

Disk Full After Deployment

The default Vultr partition uses the full disk. If you see "No space left on device," check with df -h. The 32GB plan is tight — consider upgrading or cleaning up old packages with sudo apt autoremove.

What's Next?

Your Vultr server is now production-ready in terms of security and basic configuration. From here, you can:

Check out our Cloudbet VPS comparison guide for more on how Vultr compares to other managed cloud platforms. And if you're looking for a step-by-step Nginx configuration tutorial, that's coming in our next post.

Ready to deploy your first server?

→ Start with Vultr — $5/mo entry, deploys in 60 seconds

Published May 2, 2026 · Vultr VPS Guide