J'ai beaucoup de clés à générer pour le serveur VPN de mes clients. Chaque fois que j'utilise easy-rsa pour générer les clés comme ceci:
./build-key client1
Il y a une sortie avec une série de questions. Les questions ont toutes des réponses par défaut qui sont définies dans le vars
fichier.
Generating a 1024 bit RSA private key
............................................++++++
.......................++++++
writing new private key to 'client1.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [US]:
State or Province Name (full name) [CO]:
Locality Name (eg, city) [Denver]:
Organization Name (eg, company) [mycompany]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) [client1]:
Email Address [[email protected]]:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'US'
stateOrProvinceName :PRINTABLE:'CO'
localityName :PRINTABLE:'Denver'
organizationName :PRINTABLE:'mycompany'
commonName :PRINTABLE:'client1'
emailAddress :IA5STRING:'[email protected]'
Certificate is to be certified until Jan 3 20:16:04 2038 GMT (9999 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
Dans l'ensemble, je dois appuyer manuellement sur les touches suivantes:
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
y
ENTER
y
ENTER
En gros, j'accepte simplement toutes les réponses par défaut et je dis «oui» aux deux dernières questions. Y at - il -force
ou des -quiet
drapeaux ou quelque chose que je peux utiliser build-key
? Sinon, y a-t-il des scripts ou des astuces bash que je peux utiliser pour faire cela à chaque fois? Je ne trouve rien dans les pages de manuel à ce sujet.
la source
La chose qui me vient à l'esprit le plus rapidement est
expect
; il vous permet d'automatiser ce type d'interactions en ligne de commande.la source
La nouvelle version d' EasyRSA est disponible en tant que binaire unique en ce moment. Pour automatiser la construction d'une clé client, vous pouvez maintenant utiliser le fichier "vars" (il suffit de le placer dans le même répertoire que le binaire easyrsa):
et utilisez le binaire d'EasyRSA:
la source
J'ai eu le même problème.
La solution que j'ai trouvée était:
echo -en "\ n \ n \ n \ n \ n \ n \ n \ ny \ ny \ n" | ./build-key client1
la source
C'est similaire à ce que j'utilise. J'espère que cela aide quelqu'un, il m'a fallu des heures pour comprendre cela. Assurez-vous que vous exécutez dans le répertoire easy-rsa, et n'oubliez pas de source ./vars
la source
J'ai fait un wrapper comme pjz, mais en regroupant tous les fichiers nécessaires dans un seul fichier .ovpn, qui peut être utilisé directement
la source
Je viens d'essayer de faire la même chose, en générant les utilisateurs openvpn en silence sur la boîte freeBSD.
Cela a abouti à un nouveau fichier, bien nommé
./build-key-quiet
la source
la source
il suffit de modifier le fichier de clé de construction et de supprimer la
--interact
méthode la plus simple d'option que je connaissela source