Follow one of the excellent guides from DigitalOcean (see Links below). Follow all the steps to the detail and everything will work, below are modifications I made for my personal requirements. Make sure you run commands as regular user and only elevate to root when told to do so.
/etc/ufw/before.rules
Setting up the environment (VPN Server(s) and CA Server) takes a while, the many steps are outlined clearly and in detail in the Original Article below in my Wiki or on the DigitalOcean website. In this paragraph I summarized the steps necessary to add clients to the VPN. Since both VPN Servers use the same credentials, the process is identical apart from using a different base.conf file which contains the server's IP address.
$ cd ~/EasyRSA-3.0.4/ $ ./easyrsa gen-req client1 nopass
$ cp ~/EasyRSA-3.0.4/pki/private/client1.key ~/client-configs/keys/
$ rsync -avz -e "ssh -p <port>" user@vpn.server.com:EasyRSA-3.0.4/pki/reqs/client1.req ~/EasyRSA-3.0.4/pki/reqs/.
$ ./easyrsa sign-req client client1
At the prompt, enter yes to confirm that you intend to sign the certificate request and that it came from a trusted source. This will create a client certificate file named client1.crt.
$ rsync -avz -e "ssh -p <port>" ~/EasyRSA-3.0.4/pki/issued/client1.crt user@vpn.server.com:client-configs/keys/
~/client-configs
and run the 'make config' script:$ cd ~/client-configs $ sudo ./make_config.sh client1