Ich muss eine Menge Schlüssel für den VPN-Server meiner Kunden generieren. Wann immer ich easy-rsa benutze, um die Schlüssel wie folgt zu generieren:
./build-key client1
Es gibt einige Ausgaben mit einer Reihe von Fragen. Die Fragen haben alle Standardantworten, die in der vars
Datei definiert sind .
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
Alles in allem muss ich die folgenden Tasten manuell drücken:
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
y
ENTER
y
ENTER
Grundsätzlich akzeptiere ich einfach alle Standardantworten und sage "Ja" zu den letzten beiden Fragen. Gibt es irgendwelche -force
oder -quiet
Flaggen oder etwas, mit dem ich arbeiten kann build-key
? Wenn nicht, gibt es Skripte oder Bash-Tricks, mit denen ich das jedes Mal tun kann? Ich kann nichts in Manpages darüber finden.
quelle
Was mir am schnellsten einfällt, ist
expect
; Damit können Sie diese Art von Kommandozeileninteraktionen automatisieren.quelle
Die neue Version von EasyRSA ist derzeit als einzelne Binärdatei erhältlich. Um die Erstellung eines Client-Schlüssels zu automatisieren, können Sie jetzt die "vars" -Datei verwenden (platzieren Sie sie einfach im selben Verzeichnis wie easyrsa binary):
und benutze EasyRSAs Binary:
quelle
Ich hatte das gleiche problem
Die Lösung, die ich gefunden habe, war:
echo -en "\ n \ n \ n \ n \ n \ n \ n \ ny \ ny \ n" | ./build-key client1
quelle
Das ist ähnlich dem, was ich benutze. Hoffe, das hilft jemandem. Ich habe Stunden gebraucht, um das herauszufinden. Stellen Sie sicher, dass Sie im Verzeichnis easy-rsa ausgeführt werden, und vergessen Sie nicht, ./vars als Quelle anzugeben
quelle
Ich habe einen Wrapper wie pjz erstellt, aber alle erforderlichen Dateien in einer einzigen .ovpn-Datei gebündelt, die direkt verwendet werden kann
quelle
Ich habe gerade versucht, genau dasselbe zu tun, indem ich die openvpn-Benutzer still auf freeBSD-Box generiert habe.
Dies führte zu einer neuen Datei mit dem passenden Namen
./build-key-quiet
quelle
quelle
Bearbeiten Sie einfach die Build-Key-Datei und entfernen Sie die
--interact
Option, die mir am einfachsten bekannt istquelle