Init Scripts
This commit is contained in:
37
create_vpn_client.sh
Normal file
37
create_vpn_client.sh
Normal file
@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Check for client name argument
|
||||
if [ -z "$1" ]; then
|
||||
echo "Usage: $0 <clientname>"
|
||||
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 "<ca>" >> ~/client-configs/files/$CLIENT_NAME.ovpn
|
||||
cat $EASY_RSA_PATH/keys/ca.crt >> ~/client-configs/files/$CLIENT_NAME.ovpn
|
||||
echo -e "</ca>\n<cert>" >> ~/client-configs/files/$CLIENT_NAME.ovpn
|
||||
cat $EASY_RSA_PATH/keys/$CLIENT_NAME.crt >> ~/client-configs/files/$CLIENT_NAME.ovpn
|
||||
echo -e "</cert>\n<key>" >> ~/client-configs/files/$CLIENT_NAME.ovpn
|
||||
cat $EASY_RSA_PATH/keys/$CLIENT_NAME.key >> ~/client-configs/files/$CLIENT_NAME.ovpn
|
||||
echo -e "</key>" >> ~/client-configs/files/$CLIENT_NAME.ovpn
|
||||
|
||||
echo "Client configuration for $CLIENT_NAME created successfully."
|
||||
Reference in New Issue
Block a user