This is PoC to connect to the AWS Client VPN with OSS OpenVPN using SAML authentication. Tested on macOS and Linux, should also work on other POSIX OS with a minor changes.

See my blog post for the implementation details.

P.S. Recently AWS released Linux desktop client, however, it is currently available only for Ubuntu, using Mono and is closed source.

Content of the repository

How to use

  1. Build patched openvpn version and put it to the folder with a script
  2. Build aws-vpn-client wrapper go build .
  3. cp ./awsvpnclient.yml.example ./awsvpnclient.yml and update the necsery paths.
  4. Finally run ./aws-vpn-client serve --config myconfig.openvpn to connect to the AWS.


  • Unit tests
  • General Code Cleanup
  • Better integrate SAML HTTP server with a script or rewrite everything on golang


View Github