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.
- 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.
- 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.yml
and update the necsery paths.- 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