Script para criar certificados de forma automatizada no OpenVpn
Publicado por Maria Eduarda Santos Silva (última atualização em 06/04/2024)
[ Hits: 2.317 ]
Esse script criar um certificado de OpenVpn, usando como base um certificado já criado chamado ArqBase.Ovpn, segue o link para baixar esse arquivo e o script do de criação de usuário: https://drive.google.com/drive/folders/1SOjwULVbyzv9r5TJOh6YDSsb4Ts9SX8B?usp=sharing
*Caso queira acessar a pagina o script de criação de usuário segue o link abaixo:
https://www.vivaolinux.com.br/contribuir/scripts/verScript.php?codigo=7354
ATENÇÃO!
Lembre-se de editar a parte de /sua_pasta/ dentro do script
Lembre-se de editar o ArqBase.vpn de acordo com as informações do seu servidor vpn, caso não saiba como fazer isso segue o link abaixo:
#!/bin/bash # Caminho para o diretório easy-rsa EASYRSA_DIR="/etc/openvpn/easy-rsa" # Caminho para o diretório de destino DEST_DIR="/sua_pasta/arqopenvpn" # Caminho para o arquivo de modelo MODEL_FILE="/sua_pasta/ArqBase.ovpn" # Solicitar nome do usuário read -p "Digite o nome do usuário: " USERNAME # Verificar se o usuário já existe if [ ! -e "$EASYRSA_DIR/pki/issued/$USERNAME.crt" ] || [ ! -e "$EASYRSA_DIR/pki/private/$USERNAME.key" ]; then echo "Erro: Certificados para o usuário $USERNAME não encontrados. Execute o script anterior para criar o usuário." exit 1 fi # Copiar certificados e chaves para o diretório do cliente CLIENT_DIR="$DEST_DIR" cp "$EASYRSA_DIR/pki/ca.crt" "$DEST_DIR" cp "$EASYRSA_DIR/pki/issued/$USERNAME.crt" "$DEST_DIR" cp "$EASYRSA_DIR/pki/private/$USERNAME.key" "$DEST_DIR" # Arquivo de modelo .ovpn TEMPLATE_FILE="$DEST_DIR/ArqBase.ovpn" # Arquivo de destino .ovpn OUTPUT_FILE="$CLIENT_DIR/$USERNAME.ovpn" # Copiar o modelo para o arquivo de destino cp "$MODEL_FILE" "$OUTPUT_FILE" # Conteúdo do certificado CERT_CONTENT=$(cat "$EASYRSA_DIR/pki/issued/$USERNAME.crt") # Conteúdo da chave KEY_CONTENT=$(cat "$EASYRSA_DIR/pki/private/$USERNAME.key") # Gerar o arquivo .ovpn usando awk awk -v cert_file="$EASYRSA_DIR/pki/issued/$USERNAME.crt" -v key_file="$EASYRSA_DIR/pki/private/$USERNAME.key" ' BEGIN { cert_start="<cert>" cert_end="</cert>" key_start="<key>" key_end="</key>" in_cert_block = 0 in_key_block = 0 } { if ($0 ~ cert_start) { in_cert_block = 1 print $0 while ((getline line < cert_file) > 0) { print "" line } } else if (in_cert_block && $0 ~ cert_end) { in_cert_block = 0 print $0 } else if ($0 ~ key_start) { in_key_block = 1 print $0 while ((getline line < key_file) > 0) { print "" line } } else if (in_key_block && $0 ~ key_end) { in_key_block = 0 print $0 } else if (!in_cert_block && !in_key_block) { print $0 } }' "$OUTPUT_FILE" > "$OUTPUT_FILE.tmp" && mv "$OUTPUT_FILE.tmp" "$OUTPUT_FILE" echo "Usuário $USERNAME criado com sucesso. Certificados e arquivo $USERNAME.ovpn foram copiados para $DEST_DIR"
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CRIANDO USUÁRIOS A PARTIR DE ARQUIVO
Kernel 4.0 para Ubuntu, Linux Mint, Lubuntu e derivados
Gerador de PPP para USB (Palm OS e Pocket PC)
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Quebra de linha na data e hora no Linux Mint
Organizando seus PDF com o Zotero
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (4)
Sempre que vou baixar algum pacote acontece o erro dpkg (7)
como instalo panfrost-dri e o driver panfrost fork , ou panfrost (12)