Automaticamente adicionando usuário e senha ao script openvpn

1

Eu tenho um script de trabalho, o que me permite fazer uma conexão vpn. Parece assim:

openvpn --config VPNBook.com-OpenVPN-Euro1/vpnbook-euro1-tcp443.ovpn

Tudo é bom, mas eu tenho que inserir a senha e a senha publicamente disponíveis toda vez que eu executo este script. (Não se preocupe, eu não vou fazer serviços bancários ou algo sério sobre uma VPN grátis, isso é mais para aprender).

Este é o nome de usuário e a senha disponíveis publicamente em seu site:

Username: vpnbook

Password: he2qv5h

Depois de disparar, o script solicita o nome de usuário e a senha, que agora preciso copiar e colar.

Tue Aug 15 11:54:51 2017 library versions: OpenSSL 1.0.2l  25 May 2017, LZO 2.08
Enter Auth Username: vpnbook
Enter Auth Password: 

Existe uma maneira de fazer isso, então o script insere os valores por si mesmo?

Eu tentei ecoar, mas não é tão fácil.

Ou eu tenho que editar o comando em algum lugar nos arquivos? Se sim, alguém pode me indicar a direção certa para fazê-lo?

    
por Alex Ironside 16.08.2017 / 01:38

1 resposta

1

Você tem duas opções: uma é usar um arquivo contendo nome de usuário e senha em texto não criptografado (não recomendado); a outra está usando autenticação de certificado.

Para usar nome de usuário e senha em um arquivo, use --auth-user-pass <file> onde <file> é como Jesse_b propôs um arquivo contendo nome de usuário na primeira linha, senha em segundo (community.openvpn.net/openvpn/wiki/Openvpn23ManPage).

No entanto, acho que esta é uma prática ruim (REALMENTE !!!!!!!!), é melhor fazer a autenticação de certificado, assim, mesmo que o seu certificado seja recuperado por terceiros, eles pelo menos não ser capaz de mudar a senha do usuário sem a senha do root e muito mais coisas, especialmente se você tem sudo e seu usuário está na lista sudoers etc ...

Leia: link

Você precisa de um para emitir o seguinte:

init config

Em seguida, inicialize a PKI. No Linux / BSD / Unix:

. ./vars
./clean-all
./build-ca

No Windows:

vars
clean-all
build-ca

Observe que na sequência acima, a maioria dos parâmetros consultados foi padronizada para os valores definidos nos arquivos vars ou vars.bat. O único parâmetro que deve ser explicitamente informado é o nome comum.

Em seguida, geraremos um certificado e uma chave privada para o servidor. No Linux / BSD / Unix:

./build-key-server server

No Windows:

build-key-server server

A geração de certificados de clientes é muito semelhante à etapa anterior. No Linux / BSD / Unix:

./build-key client1
./build-key client2
./build-key client3

No Windows:

build-key client1
build-key client2
build-key client3

Lembre-se de que, para cada cliente, digite o Nome comum apropriado quando solicitado, ou seja, "cliente1", "cliente2" ou "cliente3". Sempre use um nome comum exclusivo para cada cliente.

Isso é fácil e muito mais seguro do que usar uma senha com nome de usuário e senha em texto simples, acredite, por favor!

    
por 18.08.2017 / 13:44