Advertisement
kisslo

openvpn_add_user.sh

May 22nd, 2017
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.22 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Debian 8.5 x64
  4. # OpenVPN version 2.3.4
  5. # 05/09/2016
  6.  
  7.  
  8. # Check Arguments
  9. if [ $# -ne 1 ]
  10. then
  11.         /bin/echo ''
  12.         /bin/echo 'This script is meant to be used in the following manner:'  
  13.         /bin/echo ''
  14.         /bin/echo $0 '$1'
  15.         /bin/echo ''
  16.         /bin/echo ' ***where $1 = client#/android#/ios# depending on type and operating system of new client***'
  17.         /bin/echo ''
  18.         /bin/echo ''
  19. else
  20.         # Check if client certs/keys/profiles already exist
  21.         if [ -e /etc/openvpn/easy-rsa-master/keys/$1/$1.ovpn ]
  22.         then
  23.                 /bin/echo "It seems that $1 already has an existing ovpn profile built for this VPN.  Verify and remove if you wish to build a new one..."
  24.         else
  25.                 # Build client key
  26.                  /etc/openvpn/easy-rsa-master/easyrsa3/easyrsa build-client-full $1
  27.  
  28.                 if [ ! -d /etc/openvpn/easy-rsa-master/keys/$1/$1 ]
  29.                 then
  30.                         # Create new client directory under the easy-rsa keys directory and copy keys/certs
  31.                         mkdir /etc/openvpn/easy-rsa-master/keys/$1
  32.                         /bin/cp /etc/openvpn/easy-rsa-master/easyrsa3/pki/issued/$1.crt /etc/openvpn/easy-rsa-master/keys/$1
  33.                         /bin/cp /etc/openvpn/easy-rsa-master/easyrsa3/pki/private/$1.key /etc/openvpn/easy-rsa-master/keys/$1
  34.                         /usr/bin/openssl rsa -in /etc/openvpn/easy-rsa-master/easyrsa3/pki/private/$1.key -out /etc/openvpn/easy-rsa-master/keys/$1/$1nopass.key
  35.                 else
  36.                        
  37.                         /bin/cp /etc/openvpn/easy-rsa-master/easyrsa3/pki/issued/$1.crt /etc/openvpn/easy-rsa-master/keys/$1
  38.                         /bin/cp /etc/openvpn/easy-rsa-master/easyrsa3/pki/private/$1.key /etc/openvpn/easy-rsa-master/keys/$1
  39.                         /usr/bin/openssl rsa -in /etc/openvpn/easy-rsa-master/easyrsa3/pki/private/$1.key -out /etc/openvpn/easy-rsa-master/keys/$1/$1nopass.key
  40.                 fi
  41.                 # Build ovpn profile using newly generated client key/cert and ca.crt
  42.                 /bin/cp /etc/openvpn/client.ovpn /etc/openvpn/easy-rsa-master/keys/$1/$1.ovpn
  43.                 /bin/cp /etc/openvpn/client.ovpn /etc/openvpn/easy-rsa-master/keys/$1/$1nopass.ovpn
  44.                 /bin/echo '<ca>' >> /etc/openvpn/easy-rsa-master/keys/$1/$1.ovpn
  45.                 /bin/cat /etc/openvpn/easy-rsa-master/easyrsa3/pki/ca.crt >> /etc/openvpn/easy-rsa-master/keys/$1/$1.ovpn
  46.                 /bin/echo '</ca>' >> /etc/openvpn/easy-rsa-master/keys/$1/$1.ovpn
  47.                 /bin/echo ''
  48.                 /bin/echo '<ca>' >> /etc/openvpn/easy-rsa-master/keys/$1/$1nopass.ovpn
  49.                 /bin/cat /etc/openvpn/easy-rsa-master/easyrsa3/pki/ca.crt >> /etc/openvpn/easy-rsa-master/keys/$1/$1nopass.ovpn
  50.                 /bin/echo '</ca>' >> /etc/openvpn/easy-rsa-master/keys/$1/$1nopass.ovpn
  51.                 /bin/echo ''
  52.                 /bin/echo '<cert>' >> /etc/openvpn/easy-rsa-master/keys/$1/$1.ovpn
  53.                 /bin/cat /etc/openvpn/easy-rsa-master/easyrsa3/pki/issued/$1.crt >> /etc/openvpn/easy-rsa-master/keys/$1/$1.ovpn
  54.                 /bin/echo '</cert>' >> /etc/openvpn/easy-rsa-master/keys/$1/$1.ovpn
  55.                 /bin/echo ''
  56.                 /bin/echo '<cert>' >> /etc/openvpn/easy-rsa-master/keys/$1/$1nopass.ovpn
  57.                 /bin/cat /etc/openvpn/easy-rsa-master/easyrsa3/pki/issued/$1.crt >> /etc/openvpn/easy-rsa-master/keys/$1/$1nopass.ovpn
  58.                 /bin/echo '</cert>' >> /etc/openvpn/easy-rsa-master/keys/$1/$1nopass.ovpn
  59.                 /bin/echo ''
  60.                 /bin/echo '<key>' >> /etc/openvpn/easy-rsa-master/keys/$1/$1.ovpn
  61.                 /bin/cat /etc/openvpn/easy-rsa-master/easyrsa3/pki/private/$1.key >> /etc/openvpn/easy-rsa-master/keys/$1/$1.ovpn
  62.                 /bin/echo '</key>' >> /etc/openvpn/easy-rsa-master/keys/$1/$1.ovpn
  63.                 /bin/echo ''
  64.                 /bin/echo '<key>' >> /etc/openvpn/easy-rsa-master/keys/$1/$1nopass.ovpn
  65.                 /bin/cat /etc/openvpn/easy-rsa-master/keys/$1/$1nopass.key >> /etc/openvpn/easy-rsa-master/keys/$1/$1nopass.ovpn
  66.                 /bin/echo '</key>' >> /etc/openvpn/easy-rsa-master/keys/$1/$1nopass.ovpn
  67.         fi
  68. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement