[OpenVPN] Automatize a Criação de Clientes

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:

  1. Estar configurado com Easy-RSA
  2. 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.

🔗 Acesse o projeto no GitHub

CATEGORIES:

Software Livre

Comments are closed