gluk47

gen-ovpn.sh

Oct 15th, 2024 (edited)
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. name="${1?Provide a name as an argument}"
  4.  
  5. OVPN=$name.ovpn
  6. [[ -e $OVPN ]] && {
  7. echo "The file $OVPN already exists, delete it manually, please"
  8. exit 1
  9. }
  10. chmod +x gen-key.sh
  11. CRT=pki/issued/$name.crt
  12. KEY=pki/private/$name.key
  13. for f in $CRT $KEY; do
  14. [[ -e "$f" ]] || ./gen-key.sh "$name" || {
  15. echo "$f does not exist, failed to generate"
  16. exit 1
  17. }
  18. done
  19.  
  20. for host in REDACTED; do
  21. [[ -e $OVPN ]] && {
  22. echo "The file $OVPN already exists, delete it manually, please. Skipped."
  23. continue
  24. }
  25. fname=ovpn/$name.${host%%.*}.ovpn
  26. cat > "$fname" <<EOF
  27. client
  28. dev tun
  29. remote $host 1194
  30. nobind
  31. persist-key
  32. persist-tun
  33. verb 3
  34. cipher AES-256-CBC
  35. key-direction 1
  36. auth SHA256
  37. <cert>
  38. $(cat $CRT)
  39. </cert>
  40. <tls-auth>
  41. $(cat key/ta.key)
  42. </tls-auth>
  43. <ca>
  44. $(cat pki/ca.crt)
  45. </ca>
  46. <key>
  47. $(cat $KEY)
  48. </key>
  49. EOF
  50. echo "Created $fname"
  51. done
  52.  
Advertisement
Add Comment
Please, Sign In to add comment