-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmake_client.sh
34 lines (30 loc) · 907 Bytes
/
make_client.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash
EASY_RSA=$HOME/easy-rsa
CLIENT_DIR=$HOME/client-configs
KEY_DIR=$CLIENT_DIR/keys
OUTPUT_DIR=$CLIENT_DIR/files
BASE_CONFIG=$CLIENT_DIR/base.conf
# Генерация сертификатов клиентов
mkdir -p $KEY_DIR
mkdir -p $OUTPUT_DIR
chmod -R 700 $CLIENT_DIR
cd $EASY_RSA
./easyrsa gen-req $1 nopass
cp pki/private/$1.key $KEY_DIR
./easyrsa sign-req client $1
cp pki/issued/$1.crt ~/client-configs/keys/
sudo cp /etc/openvpn/server/ta.key $KEY_DIR
sudo cp /etc/openvpn/server/ca.crt $KEY_DIR
sudo chown www:www $KEY_DIR/*
# создание итогового файла конфигурации
cat ${BASE_CONFIG} \
<(echo -e '<ca>') \
${KEY_DIR}/ca.crt \
<(echo -e '</ca>\n<cert>') \
${KEY_DIR}/${1}.crt \
<(echo -e '</cert>\n<key>') \
${KEY_DIR}/${1}.key \
<(echo -e '</key>\n<tls-crypt>') \
${KEY_DIR}/ta.key \
<(echo -e '</tls-crypt>') \
> ${OUTPUT_DIR}/${1}.ovpn