Home / Support / WireGuard on Ubuntu 24.04 LTS
WireGuard on Ubuntu 24.04 LTS — WireGuard is a fast, modern VPN protocol with state-of-the-art cryptography and a minimal attack surface. Published by Derek Coleman & Associates Inc on the Azure Marketplace, deployed in your own Azure subscription.
| Application ports | 51820/udp (VPN) |
|---|---|
| Admin credential file | sudo cat /etc/wireguard/clients/client1.conf # ready-to-use config for the first peer, client1 |
| Sign in as | no login — WireGuard authenticates peers by key pair; the first peer (client1) is generated for you |
| Service(s) | wg-quick@wg0 |
| Configuration | /etc/wireguard/wg0.conf (server config, root-only: interface 10.8.0.1/24, listen port 51820, NAT rule, one [Peer] per device); client configs in /etc/wireguard/clients/<name>.conf (0600, root-only); helper /usr/local/sbin/wg-addpeer |
| Logs | sudo wg show; journalctl -u wg-quick@wg0 |
| Version | WireGuard (Ubuntu 24.04 package 1.0.20210914) |
| Platform | Ubuntu 24.04 LTS |
This image generates its admin credential on the VM at first boot — nothing is pre-set. SSH into the VM with the username + key you chose at deploy, then print the generated credential:
ssh <your-username>@<VM-IP>
sudo cat /etc/wireguard/clients/client1.conf # ready-to-use config for the first peer, client1Sign in as no login — WireGuard authenticates peers by key pair; the first peer (client1) is generated for you.
There is no password. Each device signs in with its own key pair: client1's config is in /etc/wireguard/clients/client1.conf, and `sudo wg-addpeer <name>` creates the next one.
| Symptom | Check | Fix |
|---|---|---|
| No /etc/wireguard/clients/ directory, or `wg-addpeer: command not found` | The image version your VM was deployed from | The first peer and the helper ship from image 2026.917.1832 onward. On a VM from an earlier image, add a peer by hand: `wg genkey | tee peer.key | wg pubkey > peer.pub`, append a `[Peer]` block with `PublicKey = <contents of peer.pub>` and `AllowedIPs = 10.8.0.2/32` to /etc/wireguard/wg0.conf, `sudo systemctl restart wg-quick@wg0`, then write the client config with that private key, Address = 10.8.0.2/32, the server's public key (`sudo wg show wg0 public-key`) and Endpoint = <VM public IP>:51820. |
| The device never completes a handshake | The Endpoint line in the client config; `sudo wg show` on the server | On VMs deployed from image 2026.917.1832, client1.conf and wg-addpeer wrote the VM's PRIVATE address as the Endpoint, which no device outside the virtual network can reach — change Endpoint to the public IP. From 2026.1004.2202 the public IP is written. Also check that 51820/udp is allowed in the NSG. |
Email support@dcassociatesgroup.com (response within 1 business day) or send a
message via the contact form. Include the offer name, VM size, region, and any log output — sudo journalctl -u <service> -n 100 usually tells the story.