#!/bin/bash DIR_RSA=/srv/EasyRSA-3.0.8 DIR_CLI=/srv/client-configs KEY_DIR=${DIR_CLI}/keys OUTPUT_DIR=${DIR_CLI}/files BASE_CONFIG=${DIR_CLI}/base.conf # Проверка параметра if [ -n "${1}" ]; then # Проверка на уникальность имени кдиента if [ -e "${DIR_RSA}/pki/reqs/${1}.req" ]; then echo "${1} уже существует, выберите другое имя клиента" else # Генерация ключей и копирование в нужные каталоги cd ${DIR_RSA} ./easyrsa build-client-full ${1} nopass cp ./pki/private/${1}.key ${DIR_CLI}/keys/ cp ./pki/issued/${1}.crt ${DIR_CLI}/keys/ # Считываем все ключи и записываем в итоговый файл конфига cat ${BASE_CONFIG} \ <(echo -e '\n') \ ${KEY_DIR}/ca.crt \ <(echo -e '\n') \ ${KEY_DIR}/${1}.crt \ <(echo -e '\n') \ ${KEY_DIR}/${1}.key \ <(echo -e '\n') \ ${KEY_DIR}/ta.key \ <(echo -e '') \ > ${OUTPUT_DIR}/${1}.ovpn echo "Забери свое гавно тут: ${OUTPUT_DIR}/" fi else echo "Usage: $0 [ client_name ]" echo "Нужно запускать скрипт с параметром имя создаваемого клиента" fi