Eu tenho muitas chaves para gerar para o servidor VPN dos meus clientes. Sempre que eu uso o easy-rsa para gerar as chaves assim:
./build-key client1
Há alguma saída com uma série de perguntas. Todas as perguntas têm respostas padrão definidas no vars
arquivo.
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
Em suma, tenho que pressionar manualmente as seguintes teclas:
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
y
ENTER
y
ENTER
Basicamente, estou apenas aceitando todas as respostas padrão e dizendo 'sim' às duas perguntas finais. Há algum -force
ou -quiet
bandeiras ou algo que eu possa usar com build-key
? Caso contrário, existem scripts ou truques do bash que posso usar para fazer isso sempre? Não consigo encontrar nada em nenhuma página de manual sobre isso.
fonte
A coisa que me vem à mente mais rapidamente é
expect
; permite automatizar esses tipos de interações de linha de comando.fonte
A nova versão do EasyRSA vem como um único binário agora. Para automatizar a construção de uma chave de cliente, agora você pode usar o arquivo "vars" (basta colocá-lo no mesmo diretório que o binário easyrsa):
e use o binário do EasyRSA:
fonte
Eu tive o mesmo problema.
A solução que encontrei foi:
eco -en "\ n \ n \ n \ n \ n \ n \ n \ ny \ ny \ n" | ./build-key client1
fonte
Isso é semelhante ao que eu uso. Espero que isso ajude alguém, levei horas para descobrir isso. Verifique se você está executando no diretório easy-rsa e não se esqueça de fonte ./vars
fonte
Criei um invólucro como pjz, mas agrupando todos os arquivos necessários em um único arquivo .ovpn, que pode ser usado diretamente
fonte
Eu apenas tentei fazer isso da mesma maneira, gerando os usuários do openvpn silenciosamente no freeBSD box.
Isso resultou em um novo arquivo, apropriadamente chamado
./build-key-quiet
fonte
fonte
basta editar o arquivo da chave de compilação e remover o
--interact
método mais fácil da opção que eu conheçofonte