# Make sure script is ran as root if [[ $EUID -ne 0 ]]; then exec sudo /bin/bash "$0" "$@" fi DIR=$(pwd) for i in {1..255}; do CLIENT_NAME="client$i" if [ ! -f "/etc/openvpn/easy-rsa/pki/issued/$CLIENT_NAME.crt" ]; then break fi done read -e -p "Enter client name: " -i "$CLIENT_NAME" CLIENT_NAME if [ -f "/etc/openvpn/easy-rsa/pki/issued/$CLIENT_NAME.crt" ]; then echo Client $CLIENT_NAME already exists... exit 1 fi cd /etc/openvpn/easy-rsa ./easyrsa gen-req $CLIENT_NAME nopass ./easyrsa sign-req client $CLIENT_NAME CA_CERT=$(cat "/etc/openvpn/ca.crt") CLIENT_CERT=$(cat "/etc/openvpn/easy-rsa/pki/issued/$CLIENT_NAME.crt") CLIENT_KEY=$(cat "/etc/openvpn/easy-rsa/pki/private/$CLIENT_NAME.key") TA_KEY=$(cat "/etc/openvpn/ta.key") cd "$DIR" cat > $CLIENT_NAME.conf < $CA_CERT $CLIENT_CERT $CLIENT_KEY key-direction 1 $TA_KEY EOL