Este manual atualizado reúne todo o processo de instalação, configuração e uso da VPN TJDFT em sistemas Linux. Inclui todas as correções realizadas durante os testes, melhorias de robustez e automação, além de referências externas para aprofundamento.
- Sistema Linux baseado em Debian (Ubuntu 20.04+, Mint 20+, Debian 10+)
- Conexão com a internet
- Privilégios de administrador (sudo)
- Acesso ao Portal Azure com suas credenciais TJDFT ou Prestador
- Navegador atualizado (Firefox, Chrome ou Edge)
Antes de qualquer conexão, é obrigatório ativar o acesso:
- Acesse: Portal Azure
- Faça login com suas credenciais (ex.:
usuario@tjdft.jus.brouxxxxx@prestador.tjdft.jus.br) - Vá em: Privileged Identity Management → Minhas Funções
- Localize o grupo GF-PIM-VPN-RPV-DEV
- Clique em Ativar
- Aguarde a confirmação (até 3 minutos)
📖 Referência: Documentação Microsoft PIM
sudo apt update && sudo apt upgrade -ysudo apt install -y wget openconnect xdg-utils coreutilsObs:
xdg-utilsgarante quexdg-openesteja disponível para abrir links automaticamente.coreutilsfornece ostdbuf, usado no script para forçar saída em linha.
# Criar diretório de trabalho
mkdir -p ~/vpn-tjdft
cd ~/vpn-tjdft
# Baixar versão mais recente (x86_64)
wget https://github.com/ancwrd1/snx-rs/releases/download/v4.8.0/snx-rs-v4.8.0-linux-x86_64.tar.xz
# Extrair
tar -xvf snx-rs-v4.8.0-linux-x86_64.tar.xz
# Mover binário para o sistema
sudo mv snx-rs-v4.8.0-linux-x86_64/snx-rs /usr/local/bin/
# Dar permissão de execução
sudo chmod +x /usr/local/bin/snx-rs✅ Agora o comando snx-rs deve estar disponível. Teste com:
snx-rs -h📖 Referência: Repositório snx-rs no GitHub
Crie o script principal:
nano ~/vpn-tjdft/vpn-tjdft.shConteúdo atualizado do script:
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
# Funções de cor
echo_info() { echo -e "\033[0;34m[INFO]\033[0m $1"; }
echo_success() { echo -e "\033[0;32m[✓]\033[0m $1"; }
echo_warning() { echo -e "\033[1;33m[⚠]\033[0m $1"; }
echo_error() { echo -e "\033[0;31m[✗]\033[0m $1"; }
echo_step() { echo -e "\033[0;36m[→]\033[0m $1"; }
clear
cat <<'BANNER'
╔══════════════════════════════════════════════╗
║ VPN TJDFT - 2025 ║
║ ║
║ ⚠️ ATENÇÃO: Processo Atualizado ║
║ ║
║ 1. Ative primeiro no Portal Azure ║
║ 2. Depois execute este script ║
╚══════════════════════════════════════════════╝
BANNER
echo_step "Gateway (pressione Enter para usar o padrão PROD: rpv.tjdft.jus.br)"
read -r GATEWAY
GATEWAY=${GATEWAY:-rpv.tjdft.jus.br}
echo_step "Digite seu e-mail institucional (ex.: usuario@tjdft.jus.br ou CPF@prestador.tjdft.jus.br):"
read -r USER_EMAIL
LOG_FILE=$(mktemp /tmp/snx-rs-log.XXXXXX)
echo_info "O log será salvo em: $LOG_FILE"
stdbuf -oL sudo /usr/local/bin/snx-rs -X true -s "$GATEWAY" -o vpn_Remote_Access -u "$USER_EMAIL" 2>&1 \
| tee "$LOG_FILE" \
| while IFS= read -r line; do
echo "$line"
if echo "$line" | grep -qE 'http[s]?://'; then
URL=$(echo "$line" | grep -Eo 'http[s]?://[^[:space:]]+' | head -n1)
echo_info "Abrindo automaticamente: $URL"
xdg-open "$URL" >/dev/null 2>&1 || echo_warning "Não foi possível abrir o navegador automaticamente. Link: $URL"
fi
done
echo_success "Processo do snx-rs finalizado. Log salvo em: $LOG_FILE"
echo_step "Se quiser enviar o log para análise, use: cat $LOG_FILE"
read -rp "Pressione Enter para fechar..."Dar permissão de execução:
chmod +x ~/vpn-tjdft/vpn-tjdft.shwget -O ~/vpn-tjdft/tjdft-icon.png "https://www.tjdft.jus.br/favicon.ico"nano ~/.local/share/applications/vpn-tjdft.desktopConteúdo atualizado (substitua SEU_USUARIO pelo login do Linux):
[Desktop Entry]
Name=VPN TJDFT 2025
Comment=Conectar à VPN do TJDFT
Exec=gnome-terminal -- bash -ic "/home/SEU_USUARIO/vpn-tjdft/vpn-tjdft.sh; exec bash"
Icon=/home/SEU_USUARIO/vpn-tjdft/tjdft-icon.png
Terminal=true
Type=Application
Categories=Network;Internet;
StartupNotify=true
Keywords=vpn;tjdft;rede;Dar permissão:
chmod +x ~/.local/share/applications/vpn-tjdft.desktop
update-desktop-database ~/.local/share/applications/nano ~/vpn-tjdft/ativar-azure.shConteúdo:
#!/bin/bash
echo "🔗 Abrindo Portal Azure..."
xdg-open "https://portal.azure.com/feature/msaljs=true&returnTo=/blade/Microsoft_Azure_PIMCommon/ActivationBlade"Dar permissão:
chmod +x ~/vpn-tjdft/ativar-azure.sh- Pressione
Super(tecla Windows) - Digite
VPN TJDFT - Clique no ícone criado
~/vpn-tjdft/vpn-tjdft.shAdicione ao ~/.bashrc ou ~/.zshrc:
alias vpn-tjdft='~/vpn-tjdft/vpn-tjdft.sh'
alias ativar-azure='~/vpn-tjdft/ativar-azure.sh'cd ~/vpn-tjdft
tar -xvf snx-rs-v4.8.0-linux-x86_64.tar.xz
sudo mv snx-rs-v4.8.0-linux-x86_64/snx-rs /usr/local/bin/
sudo chmod +x /usr/local/bin/snx-rs- Verifique suas credenciais (TJDFT ou Prestador)
- Confirme se está no grupo GF-PIM-VPN-RPV-DEV
- Aguarde alguns minutos após ativação
- Verifique se está usando o gateway correto (
rpv.tjdft.jus.brourpv-dev.tjdft.jus.br) - Aguarde 5–10 min após ativar
- Teste conectividade:
ping rpv.tjdft.jus.br - Verifique se a interface
snx-xfrmfoi criada:ip a
- Ativar acesso no Portal Azure PIM
- Aguardar confirmação
- Conectar com
snx-rs - Verificar interface tun ativa
| Aspecto | Antes (2024) | Atual (2025) |
|---|---|---|
| Cliente VPN | gp-saml-gui | snx-rs |
| Ativação | Direta | Azure PIM |
| Gateway | múltiplos | rpv.tjdft.jus.br (padrão) |
| Processo | 1 passo | 2 passos |
| Login | usuário fixo | e-mail completo (TJDFT/Prestador) |
| Navegador | manual | abre automático via xdg-open |
✨ Manual atualizado, testado e validado no Linux Mint 22.1 e Ubuntu 22.04