#!/bin/bash # Check for client name argument if [ -z "$1" ]; then echo "Usage: $0 " exit 1 fi CLIENT_NAME=$1 EASY_RSA_PATH=~/openvpn-ca # Change to your Easy-RSA path BASE_CONFIG=/etc/openvpn/client_base.conf # Change to your base client config path # Navigate to Easy-RSA directory cd $EASY_RSA_PATH # Load vars source vars # Build the client key and certificate ./build-key --batch $CLIENT_NAME # Create client config directory if it doesn't exist mkdir -p ~/client-configs/files # Create the client configuration file cp $BASE_CONFIG ~/client-configs/files/$CLIENT_NAME.ovpn # Add client authentication details to the config file echo -e "" >> ~/client-configs/files/$CLIENT_NAME.ovpn cat $EASY_RSA_PATH/keys/ca.crt >> ~/client-configs/files/$CLIENT_NAME.ovpn echo -e "\n" >> ~/client-configs/files/$CLIENT_NAME.ovpn cat $EASY_RSA_PATH/keys/$CLIENT_NAME.crt >> ~/client-configs/files/$CLIENT_NAME.ovpn echo -e "\n" >> ~/client-configs/files/$CLIENT_NAME.ovpn cat $EASY_RSA_PATH/keys/$CLIENT_NAME.key >> ~/client-configs/files/$CLIENT_NAME.ovpn echo -e "" >> ~/client-configs/files/$CLIENT_NAME.ovpn echo "Client configuration for $CLIENT_NAME created successfully."