sudo apt install easy-rsa make-cadir /etc/eesyrsa mkdir /var/lib/easyrsa cat << EOF > /usr/local/sbin/easyrsa #!/bin/bash export EASYRSA=/etc/easyrsa export EASYRSA_PKI=/var/lib/easyrsa cd "\$EASYRSA" ./easyrsa "\$@" exit \$? EOF chmod 755 /usr/local/sbin/easyrsa
apt install openssl rsync wget TMP_DIR=$(mktemp --directory) cd $TMP_DIR wget -O easyrsa.tgz https://github.com/OpenVPN/easy-rsa/releases/download/v3.1.7/EasyRSA-3.1.7.tgz tar xzvf easyrsa.tgz mv EasyRSA* /usr/local/share/easyrsa chown root:root -R /usr/local/share/easyrsa mkdir /etc/easyrsa for i in easyrsa x509-types/ vars.example openssl-easyrsa.cnf do rsync -av /usr/local/share/easyrsa/$i /etc/easyrsa/$i done cp /etc/easyrsa/vars.example /etc/easyrsa/vars cat << EOF > /usr/local/sbin/easyrsa #!/bin/bash export EASYRSA=/etc/easyrsa export EASYRSA_PKI=/var/lib/easyrsa cd "\$EASYRSA" ./easyrsa "\$@" exit \$? EOF chmod 755 /usr/local/sbin/easyrsa rm -fr $TMP_DIR
/etc/easyrsa/vars
contient des informations de configuration importante, comme par exemple la durée de validité des certificats générés (EASYRSA_CERT_EXPIRE
, 825 jours par défaut).
easyrsa init-pki EASYRSA_CA_EXPIRE=365 easyrsa build-ca easyrsa show-ca
easyrsa build-server-full host.domain.tld nopass
Les fichiers générés seront récupérables ici :
/var/lib/easyrsa/private/host.domain.tld.key
/var/lib/easyrsa/issued/host.domain.tld.crt
/var/lib/easyrsa/req/host.domain.tld.req
(CSR)–subject-alt-name
(à position avant l'argument build-server-full
). Exemple :
easyrsa --subject-alt-name=DNS:alt.domain.tld build-server-full host.domain.tld nopass
easyrsa gen-req myclient
easyrsa sign-req client myclient
Les fichiers générés seront récupérables ici :
/var/lib/easyrsa/private/myclient.key
/var/lib/easyrsa/issued/myclient.crt
/var/lib/easyrsa/reqs/myclient.req
(CSR)easyrsa revoke myclient
easyrsa gen-crl
La CRL est récupérable dans le fichier /var/lib/easyrsa/crl.pem
.
Pour une exécution en mode batch, sans avoir à répondre à des questions et en fournissant les réponses attendues via des variables d'environnement, vous pouvez :
EASYRSA_PASSOUT=env:KEY_PWD KEY_PWD=myclient_secret easyrsa --batch gen-req myclient
EASYRSA_PASSIN=env:CA_PWD CA_PWD=ca_secret easyrsa --batch sign-req client myclient
EASYRSA_PASSIN=env:CA_PWD CA_PWD=ca_secret easyrsa --batch revoke myclient
EASYRSA_PASSIN=env:CA_PWD CA_PWD=ca_secret easyrsa --batch gen-crl