EasyRSA merupakan salah satu tool yang sangat berguna ketika kita harus membuat sertifikat/keys untuk aplikasi openvpn baik itu untuk CA sertifikat, Server sertifikat maupun Client sertifikat.
Banyak perubahan perintah-perintah dari versi sebelumnya yaitu versi 2 dengan versi 3 yang sekarang saya pakai.
Untuk itu saya mencoba membuat bash script yang simple saja untuk memudahkan dalam proses pembuatan sertifikat/key ini.
Sebelum mulai download terlebih dahulu utility easyrsa :
EasyRSA-unix-v3.0.6.tgz
Setelah itu ekstrak file tersebut menjadi directory EasyRSA-3.0.1 kemudian masuk kedalamnya.
Buat file bash skrip dengan nama build-cert dan masukan baris-baris dibawah ini :
#!/bin/bash #### Description: Script to build & manage RSA key easily #### Written by: Agus Prasetia - [email protected] on 04-2016 WKDIR="`pwd`" KEYS="$WKDIR/keys" CACERT="$WKDIR/pki/ca.crt" mkdir -p $KEYS if [ ! -d "pki" ]; then $WKDIR/easyrsa init-pki cp vars.example vars fi if [ ! -f "$CACERT" ] then echo "Building CA cert & Key... " $WKDIR/easyrsa build-ca cp $CACERT $KEYS cp $WKDIR/pki/private/ca.key $KEYS fi echo -e "Please Choose your certificate type" PS3="Please Pick your choice: 1)Server 2)Client 3)Quit " options=("Server" "Client" "Quit") select opt in "${options[@]}" do case $opt in "Server") echo -e "Type your SERVER unique name: " read svrname echo -e "Building Server Certificate.." $WKDIR/easyrsa gen-req $svrname nopass $WKDIR/easyrsa sign server $svrname $WKDIR/easyrsa gen-dh openvpn --genkey --secret ta.key cp $WKDIR/ta.key $KEYS cp $WKDIR/pki/dh.pem $KEYS cp $WKDIR/pki/issued/$svrname.crt $KEYS cp $WKDIR/pki/private/$svrname.key $KEYS ;; "Client") echo -e "Type your CLIENT(S) unique name: " read clientname echo -e "Building Client Certificate.." $WKDIR/easyrsa gen-req $clientname nopass $WKDIR/easyrsa sign client $clientname cp $WKDIR/pki/issued/$clientname.crt $KEYS cp $WKDIR/pki/private/$clientname.key $KEYS ;; "Quit") break ;; *) echo invalid option;; esac done
Save file build-cert dan berikan flag chmod +x agar dapat di eksekusi diterminal.
Jalankan skrip build-cert dan perhatikan hal pertama yang skrip ini lakukan adalah membuat CA (certificate Authority) anda akan diminta memasukan password harap diingat password ini jangan sampai lupa karena akan diminta saat pembuatan server dan client sertifikat.
Setelah itu skrip akan meminta kita untuk memilih akan membuat server sertifikat atau client sertificate pastikan kita memilih server sertifikat terlebih dahulu.
Setelah itu baru kita bisa memilih client sertifikat sebanyak client yang kita miliki.
Semua sertifikat dan private keys akan dicopy ke directory keys didalam directory EasyRSA-3.0.6 silahkan dipindahkan sesuai konfigurasi dari openvpn yang kita gunakan baik server maupun client.
[…] CA sertifikat, Server sertifikat, Client sertifikat silahkan merujuk ke tulisan saya sebelumnya di SINI.Unduh terlebih dahulu skrip easy-rsa terbaru di SINI.Lokasi hasil extract easy-rsa adalah […]
[…] openvpn client.Lakukan proses pembuatan sertifikat dan key sesuai tulisan saya sebelum nya disini sertifikat openvpn menggunaka easyrsa.Buat berkas baru dengan nama client.ovpn berisikan baris-baris konfigurasi seperti […]
eror :
bash: ./build-cert: /bin/bash^M: bad interpreter: No such file or directory
masalah dimana nya ya sdahh sesuai petunjuk di atas
Selamat datang Mas Diyan,
Text editor yang di pakai menggunakan apa karena sepertinya line break di editor nya menggunakan Dos/Windows style CR LF, sedangkan linux hanya mengenali LF sebagai Line Break.
Solusinya Buat file build-cert nya menggunakan text editor vi .
Atau bisa juga dengan convert file build-cert menggunakan program dos2unix.
$ sudo apt install dos2unix
$ dos2unix Build-cert
dos2unix: converting file Build-certs to Unix format…
Lalu coba jalankan lagi ./build-cert
ok pak agus prasetia
terima kasih bantuannya
#!/bin/bash
#### Description: Script to build & manage RSA key easily
#### Written by: Agus Prasetia – [email protected] on 04-2016
WKDIR=”`pwd`”
KEYS=”$WKDIR/keys”
CACERT=”$WKDIR/pki/ca.crt”
mkdir -p $KEYS
if [ ! -d “pki” ]; then
$WKDIR/easyrsa init-pki
cp vars.example vars
fi
if [ ! -f “$CACERT” ]
then
echo “Building CA cert & Key… ”
$WKDIR/easyrsa build-ca
cp $CACERT $KEYS
cp $WKDIR/pki/private/ca.key $KEYS
fi
echo -e “Please Choose your certificate type”
PS3=”Please Pick your choice: 1)Server 2)Client 3)Quit ”
options=(“Server” “Client” “Quit”)
select opt in “${options[@]}”
do
case $opt in
“Server”)
echo -e “Type your SERVER unique name: ”
read svrname
echo -e “Building Server Certificate..”
$WKDIR/easyrsa gen-req $svrname nopass
$WKDIR/easyrsa sign server $svrname
$WKDIR/easyrsa gen-dh
openvpn –genkey –secret ta.key
cp $WKDIR/ta.key $KEYS
cp $WKDIR/pki/dh.pem $KEYS
cp $WKDIR/pki/issued/$svrname.crt $KEYS
cp $WKDIR/pki/private/$svrname.key $KEYS
;;
“Client”)
echo -e “Type your CLIENT(S) unique name: “
Ada yang salah dengan script ini mas?