Automatize a Criação de Clientes OpenVPN com Usuário, Certificado e Arquivo .ovpn – Totalmente via Shell Script
Se você administra um servidor OpenVPN para múltiplos clientes (filiais, lojas, colaboradores etc.), já deve ter passado por esse ritual:
- Criar certificados manualmente com Easy-RSA
- Copiar arquivos a dedo
- Criar usuários no sistema
- Gerar
.ovpn
com autenticação por usuário e senha - Compactar e enviar…
Agora você pode automatizar tudo isso com um único script em Shell.
🚀 Apresentando: openvpn-gerenciar-clientes
Um script poderoso, simples e direto para:
✅ Criar certificados OpenVPN com validade de 10 anos
✅ Gerar .ovpn
com suporte a certificado e autenticação por usuário e senha
✅ Criar usuário no Linux com senha aleatória ou definida
✅ Exportar arquivos separados ou .ovpn
unificado
✅ Compactar tudo em .zip
para envio rápido
🔗 Código disponível no GitHub:
👉 github.com/junovanfantin/openvpn-gerenciar-clientes
🧠 Por que usar essa abordagem?
Muitas soluções de VPN comerciais como Cloudflare Tunnel, Tailscale ou ZeroTier usam políticas dinâmicas e microsegmentação.
Mas se você quer:
- Controle total
- Autenticação mista (certificado + login)
- Funcionar com OpenVPN puro, sem liberação de portas externas
- Gerenciamento automatizado de clientes
… então essa solução é ideal.
⚙️ Pré-requisitos
Antes de usar o script, seu servidor OpenVPN deve:
- Estar configurado com Easy-RSA
- Ter suporte a autenticação PAM:
plugin /usr/lib/openvpn/plugins/openvpn-plugin-auth-pam.so login<br>client-cert-not-required<br>username-as-common-name
🖥️ Como usar
🔸 Criar cliente com .ovpn
e senha aleatória:
./gerenciar-cliente.sh -name LOJA001 -type ovpn
🔸 Criar cliente com senha definida:
./gerenciar-cliente.sh -name LOJA002 -type ovpn -pass MinhaSenha123
🔸 Exportar arquivos separados (.crt, .key, .ca):
./gerenciar-cliente.sh -name LOJA003 -type files
📦 Estrutura dos Arquivos
Ao rodar o script, ele cria:
/etc/openvpn/clientes/LOJA001/
├── LOJA001.ovpn ← Cliente usa este
├── README.txt ← Contém a senha do usuário
└── LOJA001.zip ← Pacote pronto para envio
🔐 Segurança
- Senhas geradas são aleatórias e fortes por padrão.
- Certificados têm validade de 10 anos.
- O usuário do Linux é criado com isolamento mínimo e pode ser gerenciado com políticas adicionais.
📈 Futuro: Integrações?
Em breve você poderá:
- Enviar os arquivos direto por e-mail ou Telegram
- Gerar via painel web com autenticação
- Integrar com banco de dados ou Active Directory
📂 Baixe agora
💻 Clone o repositório no seu servidor:
git clone https://github.com/junovanfantin/openvpn-gerenciar-clientes.git
cd openvpn-gerenciar-clientes
chmod +x gerenciar-cliente.sh
💬 Dúvidas ou melhorias?
Sinta-se à vontade para abrir um issue no GitHub ou me chamar no LinkedIn!
✅ Simplifique a gestão da sua VPN. Automatize. Escale. E mantenha o controle total.
Comments are closed