Um clique em Connect deveria produzir uma janela de login. Num Mac, costuma produzir três, e elas raramente partilham o mesmo dono: o chaveiro é dono dos avisos de credenciais locais, a gateway VPN é dona da autenticação, e o cliente é dono dos seus próprios avisos. Em vez de procurar um interruptor que silencie tudo, trate cada janela como um defeito separado com a sua própria correção. O guia abaixo percorre uma tentativa de conexão deliberada e termina com uma verificação que pode repetir.

Nomeie o dono de cada diálogo antes de alterar uma definição

O primeiro passo é contabilidade, não configuração. Faça uma tentativa de conexão e, para cada janela que aparecer, anote quatro campos: o nome da app mostrada no diálogo, o texto exato sem nada de secreto, a fase em que surgiu e o que aconteceu quando a cancelou. Três linhas assim cobrem quase todos os relatórios que já examinei.

A propriedade determina a correção certa, e a correção errada é normalmente o que transforma um aviso em três:

WindowWho owns itCorrect fixWhat not to do
“wants to use your confidential information stored in…”The item's access control list in your login keychainApprove the specific client helper, once, after checking the nameResetting the login keychain, or granting Always Allow to every application
“Sign in to <organization>” or an MFA pushThe gateway's identity providerUse the client's supported session renewal, or re-authenticateScripting a fixed password or code into the client
“Connection failed”, “Update required”, a policy bannerThe client or your organizationRead the first error and fix its causeHiding notices by editing a preference file the client rewrites

Um aviso que volta dentro da mesma tentativa é um sinal diferente de um que volta na tentativa seguinte. O primeiro costuma significar que a conexão foi reiniciada por baixo de si; o segundo costuma significar que está a ser pedida novamente uma credencial guardada. Anote qual tem antes de tocar no chaveiro, porque os dois quase não têm nada em comum.

Descubra quantas coisas estão a iniciar o túnel

Quatro mecanismos podem iniciar o mesmo VPN num Mac: uma ação da barra de menus, um item de login, uma regra On Demand e um script ou agente. Quando dois deles disparam, o segundo arranque pode chegar enquanto o primeiro ainda espera autenticação, o que produz uma janela duplicada e nenhum progresso. Liste primeiro o que está configurado: scutil --nc list imprime os serviços VPN conhecidos pelas Definições do Sistema, com o estado atual. Os clientes que trazem a sua própria extensão de rede guardam os perfis dentro da app e podem não aparecer ali, por isso verifique também a lista de conexões do próprio cliente.

Depois procure iniciadores concorrentes. scutil --nc show "Work VPN" imprime o dicionário de configuração de um serviço integrado, incluindo as regras On Demand; uma regra que se reconecta a cada mudança de interface reinicia o túnel — e reabre o aviso de autenticação — sempre que o Wi-Fi se desloca ou um ecrã desperta a pilha de rede. Verifique os itens de login em Definições do Sistema > Geral > Itens de Login, e liste os agentes por utilizador com ls ~/Library/LaunchAgents. Deixe em paz o que pertence a uma pilha de segurança gerida por MDM; a remoção costuma ser revertida na verificação seguinte.

Para ver o que está realmente a correr durante uma tentativa: ps -Ao pid,comm | grep -iE 'vpn|tunnel|extension'. Dois auxiliares de cliente onde espera um explicam «porque recebi dois avisos» muito mais vezes do que qualquer problema de credenciais.

Repare o acesso ao chaveiro sem redefinir o chaveiro

O aviso vem da lista de controlo de acesso do item guardado, não do protocolo VPN. Cada item regista que aplicações o podem ler sem perguntar. Depois de uma atualização do cliente, o auxiliar que pergunta pode ter outro nome ou assinatura enquanto o item ainda lista o antigo, por isso o macOS volta a perguntar em cada conexão. Aprovar o novo auxiliar para esse único item é toda a correção; aprovar todas as aplicações não é.

Pode confirmar que a ACL é a causa sem tocar no VPN: security find-generic-password -s "service-name" -g lê o mesmo item a partir de um terminal. Se esse comando também provocar o aviso, o diálogo pertence ao chaveiro e o túnel é apenas o gatilho. As indicações da Apple sobre os três botões — Permitir uma vez, Permitir sempre, Negar — merecem uma leitura, porque Negar é o que faz o aviso reaparecer imediatamente em vez de na tentativa seguinte.

Se aprovou o auxiliar errado, abra o item em Acesso às Chaves, mude para Controlo de Acesso e remova essa entrada; essa é a reversão. Apagar o chaveiro de login, ou executar uma ferramenta de reparação que o reconstrua, também descarta palavras-passe não relacionadas e é uma alteração muito maior do que o problema.

Mantenha os passos de login e de política nos fluxos que lhes pertencem

Um login no navegador ou um desafio MFA pertencem à gateway. Se a sua organização oferece persistência de sessão ou autenticação baseada em certificados, use-a, porque é a forma suportada de autenticar com menos frequência. Escrever um código fixo num cliente, ou guardar uma palavra-passe num script para que o aviso nunca apareça, substitui um fator interativo por um segredo estático e falha na próxima rotação de política.

Os avisos da organização são a única categoria que não deve suprimir. Costumam impor uma verificação de postura ou uma aceitação de uso aceitável, e escondê-los pode deixar o dispositivo fora de conformidade mesmo enquanto o túnel funciona. Os diálogos de erro são a outra categoria: guarde o texto do primeiro erro, porque um segundo diálogo é muitas vezes apenas a mesma falha reportada após uma nova tentativa.

Verifique com uma tentativa, e depois após um reinício

Com os iniciadores duplicados removidos e a entrada do chaveiro reparada, faça uma única tentativa: encerre cada instância do cliente, incluindo o auxiliar da barra de menus, ligue-se uma vez e conte as janelas. Quer a aprovação do chaveiro, se o item foi reconstruído, e um passo de autenticação. Nada mais. scutil --nc status "Work VPN" deveria reportar Connected para um serviço integrado.

Depois reinicie uma vez e repita. Um aviso que só volta após um reinício aponta para um item de login ou uma regra On Demand, não para credenciais; um que volta dentro da sessão aponta para a ACL ou para um segundo iniciador. Se continuar a repetir-se após as duas passagens, o útil a entregar ao seu administrador é a tabela de três linhas da primeira tentativa — dono, texto exato, fase — não uma captura de ecrã do diálogo.

Menos avisos é o objetivo, não avisos silenciosos. Uma conexão que esconde os seus passos de autorização é uma conexão que já não pode auditar, e a próxima rotação de certificados irá encontrá-lo sem ideia de que componente está a falhar.

Artigos relacionados