Skip to content

WireGuard. Managing users

This article covers operations on the VPN user list: how the list is laid out, how to get the configuration for a connection, how to edit a user, temporarily disable, or delete one. The minimum scenario "install the module and connect the first device" is described in WireGuard quick start; here we go into detail.

Unlike Amnezia and Xray, WireGuard in BeAdmin has no licence cap on users — create as many as you need, no extra fees for slots. Accounts are independent: each one gets its own key pair and its own .conf file.

The user list

The list opens on the WireGuard module page by default and contains every created user with their current state. Click Create user above the list to add a new one.

Each user is a separate row that expands on click. Collapsed, it shows the name, optionally the email address, and the Enabled toggle for temporary deactivation. User actions — issuing the configuration, emailing it, saving the QR code as an image, editing, and deleting — open when the row is expanded: click it to expand.

WireGuard user list: USERS section heading with the Create user button and collapsed user rows

When there are no users yet

Right after install the list is empty: the panel shows a Nothing here yet card prompting you to create the first user, with a Create user button. Once the first user is created, the card disappears and the regular list takes its place.

Expanded user row

The expanded row is where a user picks up the configuration for the device and where the actions on the user live. In WireGuard the expanded row offers two delivery formats at once: a QR code for importing into the mobile app and a .conf file for desktop.

Expanded WireGuard user row with a QR code, email and comment tiles, and the Download .conf, Email, QR code, Edit, Delete buttons

QR code

Right under the avatar the row shows the QR code in WireGuard format — scan it with the device camera from the official WireGuard app (Android, iOS). The QR code button under the actions saves the same code as a PNG image — useful for forwarding to a user via messenger or keeping for later. The file name matches the user name.

.conf file

The Download .conf button saves the WireGuard config in text form: the server endpoint, keys, and client parameters. On a computer the official WireGuard client imports it (Windows, macOS, Linux); on a smartphone you can also open it via file import in the app if the QR code doesn't fit for some reason. The file name matches the user name.

Emailing

The Email button sends the .conf file to the address from the user's settings. It's available if SMTP is configured in the panel and the user has an email address set. Otherwise the button is inactive — a tooltip tells you exactly what's missing: SMTP isn't configured or the address isn't set.

Editing and deletion

The Edit button opens a dialog with the user's settings (see Editing a user). The Delete button starts the deletion — details in Deleting a user.

Email and comment tiles

Under the buttons there are tiles with the user's email and comment, if filled in. The fields themselves are edited in the Edit user dialog.

When SMTP isn't configured

When SMTP is off, the expanded row shows the note Email sending is not configured on the server. with a Go to settings link — it leads to the panel's system settings, where the SMTP relay is enabled. Until the relay is configured, the Email button stays inactive; downloading the .conf file and the QR code work regardless. Details on configuring the relay — in How to set up an SMTP relay for sending email.

Creating a user

The minimum scenario is described in WireGuard quick start: open the dialog with the Create user button at the top of the list and fill in Username, Email, Comment, User language; the Enabled toggle in the footer controls the user's state right after creation. The username is optional — if you leave the field empty, the panel generates one; otherwise 2 to 32 characters from Latin letters, digits, and hyphens are allowed, and it must be unique among existing accounts.

ℹ️ Default DNS and keepalive

When a user is created, the panel sets DNS to 1.1.1.1 from Cloudflare and the persistent keepalive interval to 25 seconds (service packets that keep the connection alive through NAT and public Wi‑Fi). You can change both values later in the edit dialog.

⚠️ ISP restrictions

Traffic encryption makes a VPN a reliable way to protect a connection, but in some countries and regions internet providers actively interfere with VPN protocols. Because of this, full availability of the service cannot be guaranteed — regardless of the connection type. If one protocol does not work for you, try another VPN module available in the panel. If none of them work on your network, contact support and we will issue a refund for the license.

Editing a user

In the expanded row click Edit — the Edit user dialog opens with a reminder that after saving, the new settings need to be re-imported on the client device: the old .conf already in the WireGuard app keeps working with the old parameters until it's reloaded.

In the dialog you can change:

  • Email and Comment — edited by the same rules as on creation. To clear a value, leave the field empty and save: the panel wipes it on the server.
  • User language — the language of the configuration email. Default — English.
  • DNS server — the DNS that goes into the client config ([Interface] DNS = ...). A free-text field, defaults to 1.1.1.1. Setting a DNS server helps avoid leaking DNS queries to the ISP's local network.
  • persistent keepalive — when on, the client sends a service packet every 25 seconds so the connection doesn't drop on NAT and public Wi‑Fi. When off, keepalive isn't used.
  • Enabled — the toggle in the dialog footer; lets you temporarily disable an account without deleting it.

The username in this dialog is read-only — you can't rename an existing user. The Save button is active only if something in the form has changed compared with the current state.

WireGuard edit user dialog with the User language dropdown set to English

Enabling and disabling a user

The user row has a toggle — one click enables or disables the account without a dialog. On disable, the user's public key is removed from the server configuration, and new connections under it stop being established automatically — restarting the WireGuard service isn't required. Already established sessions drop on timeout: after disable, the server stops responding to packets from that key.

When you re-enable, the keys are not reissued: the same .conf file already saved in the client app works again — no need to re-import the configuration on the device. If the link or the .conf itself could have leaked, disabling isn't enough — delete the user and create them anew, and a new key pair will be issued.

ℹ️ Why disable instead of delete

Disable is useful when a user's device is temporarily unavailable or access needs to be paused without losing the settings: the account stays in the list, and after re-enabling the same .conf works again without re-import. If you don't plan to bring the user back or the configuration is compromised — pick delete.

Deleting a user

In the expanded row click Delete. The panel asks for confirmation in the Delete user dialog, noting that active connections will drop and a new configuration will be needed to connect. After confirmation, the account disappears from the list, the public key is removed from the server configuration, and new connections under it stop being established automatically — no service restart needed.

‼️ Deleting a user is irreversible

After confirmation, the account is deleted and the key pair is lost forever. The .conf file that was imported into the client app stops working. There's no way to restore the user "as they were" — even if you create a new one with the same name, the keys will be different, and the client will have to import a new .conf.

What's next

BeAdmin © 2025. All rights reserved.