HMA Pro VPN Setup for Multiple Locations without User/Password Every time in Linux CLI

You can of course setup per location with Network Manager GUI. And you can use HMA script the usual way (hma-openvpn.sh or hma-vpn.sh) with linux CLI. Network manager GUI method is perfect if you only need to connect to 1 or 2 locations. HMA! Linux Scripts CLI is all the way perfect for everything if you’re frequent linux command line user and don’t mind typing your HMA Pro user/password login credentials over and over again.

However if you’re like me, ie. frequently connect to different countries & locations and are not so apt in using terminal too much, and annoyed by the fact that you’ve to type your HideMyAss Pro VPN username and password everytime you use HMA VPN client; your best solution is OpenVPN® via terminal using openvpn binary (the “manual way”)with a little improvisation.
All of the steps described here are documented on support.hidemyass.com but they are scattered and may not be too evident to new linux users like me. If you wish to use the GUI method of Network Manager in Linux Mint with OpenVPN®, PPTP or IPSec setup,check the document here. However the IPSec method uses Shrew Soft VPN and for unknown reason I couldn’t connect successfully with that. And if you’d prefer HideMyAss recommended Linux CLI OpenVPN® Client – HMA! Linux Scripts, check the how to here. If you’d prefer OpenVPN® binary (the “manual way”), read on.

Make sure you’re in a folder where *.ovpn files are stored. For example ~/VPN. If not, do so by typing in terminal $ cd VPN.

Now just run the OpenVPN® binary with one of the config files as parameter, like this in terminal:$ sudo openvpn UK.UDP.ovpn

You will be asked for your HMA! Pro VPN account username and password, and after you correctly type them, the connection will be made.

Save username and password to avoid this forever. Create “id-file.hma” file in the same folder where the *.ovpn VPN server configuration files is located. in our example in ~/VPN. The content of the “id-file.hma” file should only be username and password, one below the other with no additional entries.
username
password

If you keep your UDP folder and TCP folder separate, you will have to put the “id-file.hma” file in each folder.I personaly use UDP and copied all preferred location files into same folder:

Then you would need to edit the *.ovpn configuration file you would like to use (I will use UK.UDP.ovpn) by finding the: auth-user-pass entry inside and then add next to it the name of the credentials file (id-file.hma) so that it would read:

Instead of editing each *.ovpn file one-by-one, you can use sed command using terminal$ sed -i 's/auth-user-pass/auth-user-pass\ id-file.hma/g' *.ovpn
Make sure you’re in the same folder in the terminal while running the command.

Next time all you have to do is, navigate into the folder by $ cd VPN and then type $ sudo openvpn in the terminal and drag the desired location configuration file onto the terminal and press enter. You will be asked to provide your sudo password, then it will connect you without asking your HMA username/password ever again. Once you see the terminal output reads "Initialization Sequence Completed", know that you’re connected.

Year 2000 winter, life seems to be at it's end. Year 2000 winter, life seems to be at it's end. — Saidul Hassan (@SaidulHassan) September 22, 2014 The whole year and the previous one, an ugly creature surfaced from within myself and destroyed whatever was mine and my family's dignity. — Saidul Hassan (@SaidulHassan) September […]