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
- openvpn-v2.4.9-aws.patch – patch required to build AWS compatible OpenVPN v2.4.9, based on the AWS source code (thanks to @heprotecbuthealsoattac) for the link.
How to use
- Build patched openvpn version and put it to the folder with a script
- Build aws-vpn-client wrapper
go build .
cp ./awsvpnclient.yml.example ./awsvpnclient.ymland update the necsery paths.
- Finally run
./aws-vpn-client serve --config myconfig.openvpnto connect to the AWS.
- Unit tests
- General Code Cleanup
- Better integrate SAML HTTP server with a script or rewrite everything on golang