FR
live

AWS rebuilds its VPN client with a full CLI and administrative controls

On August 13, 2026 AWS shipped version 6.0 of its VPN client, rebuilt on OpenVPN3 with a full CLI and centralized administrative controls. Teams automating remote access can now script connections without third-party tooling.

A black Ethernet cable coiled in a loop on a dark desk, its amber strain-relief boot the only point of color in the frame.

August 13, 2026. AWS published version 6.0.x of its VPN client, a ground-up rebuild on OpenVPN3. Three changes stand out: a command-line interface at full parity with the GUI, administrative controls to centralise access policy, and faster connections across every OS.

For teams running fleets of endpoints and remote access, this release fixes two irritants that have lingered for years: the inability to automate the connection, and the lack of governance over distributed profiles.

The desktop client was until now the weak link of AWS Client VPN: the server-side service was mature, but the client remained a GUI application you had to drive by hand. In a world where remote work and zero trust push you to script every step of access, that gap had become untenable — and it is exactly what version 6.0 removes.

A CLI at full parity with the GUI

The most anticipated addition is the aws-vpn-client CLI, which offers full feature parity with the graphical interface. In practice, that means you can now script the VPN connection inside a pipeline, a provisioning script or an IaC deployment, where third-party tooling or manual intervention used to be required.

The syntax is spare and predictable:

bash
aws-vpn-client connect --profile-name "Production-VPN"

The command returns readable JSON — {"status": "Connected"} — and the exit codes are standardised: 0 for success, 1 for a general error, 2 for invalid syntax. That is exactly what an automation script expects.

The command set covers the full profile lifecycle: connect, disconnect, import-profile, delete-profile, list-profiles, get-config, get-connection-status and list-connections. Two commands deserve special attention for operations:

  • import-profile --global imports a profile available to all users of a machine, which requires administrator privileges.
  • put-preference sets global preferences, including enable-user-profile-management (whether end users may import or delete profiles) and max-connections (a cap on concurrent connections, from 1 to 5).

Two more commands round out the operational surface: list-connections shows what is currently up, and send-diagnostic-logs bundles logs and returns a reference-id to hand to AWS Support.

The point is not just convenience. It is the convergence of networking and code: a VPN connection becomes a testable, logged, reproducible step in a pipeline, no different from a terraform apply.

Administrative controls to centralise policy

The second change fixes a structural governance gap. Until now, AWS Client VPN forced you to distribute profiles to all users, and anyone could manipulate them without permissions. Version 6.0 introduces real administrative controls:

  • Profiles scoped to specific users: you restrict a profile to a given perimeter instead of exposing it to the whole machine.
  • Global profiles: a profile can be declared available to all users of a device, managed centrally.
  • Enforced configurations: the team can lock down approved VPN configurations and stop end users from adding or modifying profiles.

This is the move from a “personal” client to a managed one. For a CISO or a fleet administrator, it answers a real compliance question: who can establish a VPN connection, with which configuration, and who can change it. The answer becomes controllable by policy rather than left to the discretion of each workstation.

That shift matters most in regulated environments. Audits increasingly ask which configuration each endpoint used to reach the network, and whether the user could alter it. With global profiles and enable-user-profile-management disabled, both questions get a verifiable answer — the kind that survives an auditor without a spreadsheet of manual checks.

The OpenVPN3 rebuild and compatibility

The technical rebuild is not cosmetic. The client is now built on OpenVPN3, which speeds up connection establishment on every supported OS. The GUI and the CLI can run at the same time: connections persist independently of whichever interface launched them, avoiding the classic drop when you close a window.

The decisive point for migration is backward compatibility: version 6.0 remains fully compatible with existing Client VPN endpoints. No endpoint-side changes are required, which reduces the upgrade to a simple client rollout.

That also means you can pilot the new client on a subset of workstations, side by side with the old one, before committing the whole fleet.

Covered platforms are Windows (x64/ARM), macOS (x64/ARM) and Linux (x64). There are no additional charges beyond standard AWS Client VPN pricing.

What this changes in practice

For a team operating AWS Client VPN at scale, version 6.0 redraws two workflows.

The first is automated onboarding. With import-profile and connect, provisioning a new workstation can fold the VPN connection into a setup script, with no manual click:

bash
aws-vpn-client import-profile --profile-name "Prod" --config-path /opt/vpn/prod.ovpn
aws-vpn-client connect --profile-name "Prod"

The same script can verify the result with get-connection-status, so a failed VPN surfaces at provisioning time rather than in the user’s first ticket.

The second is fleet hardening. By disabling enable-user-profile-management and enforcing global profiles, you remove end users’ ability to add their own configurations — closing the door to unapproved profiles and configuration drift.

Both flows combine with existing fleet-management tooling. A profile imported via import-profile --global lends itself to deployment through a system image or an MDM tool, and the connection then triggers on demand, with no user click. The CLI finally makes the VPN client compatible with the Infrastructure as Code practices the team already applies to the rest of its estate — a workstation provisioned by script can establish its VPN connection in the same pipeline.

What is still missing

Despite the rebuild, three limits remain worth knowing before you move everything to the CLI.

  • Secrets travel through a plaintext file. The --auth-user-pass option expects the path to a file holding the username (line 1), the password (line 2) and an optional MFA code (line 3). It works for automation, but secret management stays on your plate: nothing natively integrates a secrets manager or an SSO token.
  • No ARM64 Linux client. Version 6.0 covers Windows (x64/ARM), macOS (x64/ARM) and Linux (x64 only). Linux workstations on ARM silicon will still need a third-party client.
  • Telemetry is on by default. The enable-telemetry preference defaults to true. For a sensitive fleet, that is a point to handle explicitly in your deployment policy.

None of these limits undermine the upgrade; they simply bound what the CLI can do today.

Verdict

AWS Client VPN was never bad, but it lagged on two structural expectations: automation and governance. Version 6.0 closes both at once, without a compatibility break.

If you already run AWS Client VPN, upgrade the client to 6.0.x without waiting: endpoint compatibility is guaranteed, and you immediately gain the CLI and administrative controls.

If you automate remote access, adopt the CLI in your provisioning pipelines and scripts — import-profile and connect beat manual handling, with clean exit codes.

If compliance matters, enable the administrative preferences (enable-user-profile-management set to false, global profiles) to centralise access policy instead of delegating it to workstations.

In short, 6.0 does not change what AWS Client VPN does, but how a team can operate it: it turns a graphical client into a code-drivable component, at the cost of a routine client rollout.

References

The cyber brief, every Tuesday

The flaws that matter and the patches to apply, in a ten-minute read.

No spam. One-click unsubscribe.
read next

On the same topic

Daybreak Red and Blue land on Amazon Bedrock with zero-operator access

On August 11, 2026 OpenAI made its Daybreak Red (GPT-5.6 Cyber) and Daybreak Blue (GPT-5.6 Sol) models available on Amazon Bedrock, with zero-operator access enforced at the chip. Here is what to verify before onboarding a frontier cyber model into your cloud environment.

← Back to the feed

Type at least two characters.

navigate open esc dismiss