Operating Systems

Debian 11 on Azure User Guide

| Product: Debian 11 (Bullseye) on Azure

Overview

This guide covers the deployment and configuration of Debian 11 (Bullseye) on Microsoft Azure using cloudimg's pre configured virtual machine image from the Azure Marketplace.

What's included:

  • Debian 11 (Bullseye) with renowned stability
  • Azure Linux Agent (waagent) for cloud integration
  • Systemd timesyncd for NTP time synchronisation
  • Gen2 Hyper V virtual machine support
  • APT package management with Debian repositories
  • 24/7 cloudimg support

Platform: Microsoft Azure (Gen2 Hyper V) Default user: azureuser

Prerequisites

Before deploying this image, ensure you have:

  1. An active Microsoft Azure subscription
  2. Access to the Azure Portal or Azure CLI
  3. An SSH key pair for Linux VM access
  4. Familiarity with Azure VM management

Recommended VM Size: Standard_B2s (2 vCPU, 4 GB RAM) or larger.

Step 1: Deploy the Virtual Machine

Option A: Azure Portal

  1. Navigate to the Azure Marketplace and search for "Debian 11 (Bullseye) on Azure cloudimg"
  2. Select the image and click Create
  3. Configure the basics:
  4. Subscription: Select your Azure subscription
  5. Resource Group: Create new or select existing
  6. Virtual Machine Name: Enter a name for your VM
  7. Region: Select your preferred Azure region
  8. Size: Standard_B2s recommended
  9. Under Administrator Account, select SSH public key and enter your key
  10. Under Inbound Port Rules, allow SSH (port 22)
  11. Click Review + Create, then Create

Option B: Azure CLI

az vm create \
  --resource-group myResourceGroup \
  --name my-debian-11-azure-vm \
  --image cloudimg:debian-11-azure:default:latest \
  --size Standard_B2s \
  --admin-username azureuser \
  --generate-ssh-keys \
  --public-ip-sku Standard

Step 2: Connect via SSH

Once your VM is running, connect using SSH:

ssh azureuser@<public-ip-address>

To find your VM's public IP:

az vm show --resource-group myResourceGroup --name my-debian-11-azure-vm --show-details --query publicIps -o tsv

Step 3: Verify the Installation

After connecting, verify the operating system:

cat /etc/os-release
uname -r

Check disk space and memory:

df -h
free -h

Verify the Azure Linux Agent is running:

systemctl status waagent

Step 4: Update the System

Keep your system up to date with the latest security patches:

sudo apt-get update && sudo apt-get upgrade -y

Step 5: Configure Firewall (Optional)

The Azure Network Security Group (NSG) controls inbound and outbound traffic. You can also configure the local firewall:

sudo firewall-cmd --list-all

To allow additional ports:

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload

Common Use Cases

  • Web server hosting (Apache, Nginx)
  • Database deployments (PostgreSQL, MariaDB)
  • Mail server and DNS infrastructure
  • Minimal, secure server environments

Troubleshooting

Cannot Connect via SSH

  1. Verify the VM is in Running state in the Azure Portal
  2. Check that port 22 is allowed in the Network Security Group
  3. Ensure you are using the correct username: azureuser
  4. Verify your SSH key matches the one configured during deployment

Azure Agent Not Running

sudo systemctl start waagent
sudo systemctl enable waagent

Package Manager Issues

sudo apt-get update && sudo apt-get upgrade -y

If repositories are unreachable, check DNS resolution:

nslookup google.com

Important Notes

Debian is free and open source. No licence required.

Support

For assistance with this image, contact cloudimg support: