#!/bin/bash set -euo pipefail NAME="${1:?Usage: create-client.sh CLIENT_NAME VPN_HOST [PORT]}" HOST="${2:?Usage: create-client.sh CLIENT_NAME VPN_HOST [PORT]}" PORT="${3:-1194}" export EASYRSA_PKI=/openvpn/pki EASYRSA=/usr/share/easy-rsa/3/easyrsa # -------------------------------------------------------- # Certificat client # -------------------------------------------------------- if [ ! -f "${EASYRSA_PKI}/issued/${NAME}.crt" ]; then echo "Generating certificate for ${NAME}..." >&2 "${EASYRSA}" \ --batch \ build-client-full \ "${NAME}" \ nopass \ >&2 fi # -------------------------------------------------------- # Profil .ovpn autonome # -------------------------------------------------------- cat < EOF awk '/-----BEGIN CERTIFICATE-----/{p=1} p' \ "${EASYRSA_PKI}/ca.crt" cat < EOF awk '/-----BEGIN CERTIFICATE-----/{p=1} p' \ "${EASYRSA_PKI}/issued/${NAME}.crt" cat < EOF cat "${EASYRSA_PKI}/private/${NAME}.key" cat < EOF cat "${EASYRSA_PKI}/tls-crypt.key" cat < EOF