OpenVPN Connect no Mac: listar os perfis importados pela CLI
A CLI do Mac lista os perfis importados com seu ID, host e tipo. Use esse inventário para a migração em vez de copiar a pasta de armazenamento privada do aplicativo.
A lista de conexões importadas está disponível no próprio aplicativo, não em uma pasta dentro de Application Support. O OpenVPN Connect para macOS expõe sinalizadores de linha de comando que consultam seu próprio armazenamento de perfis, o que significa que a resposta vem do mesmo modelo que a GUI usa. Por isso a lista documentada supera qualquer pasta que você encontre navegando. Isso também explica por que a pasta não é um substituto dela.
O que o comando lê é um pequeno registro por perfil importado: um identificador, um nome de exibição, um host, um tipo de perfil, o nome de usuário armazenado e qualquer substituição de servidor. Todo o resto sobre a conexão vive atrás desse registro. O registro é o inventário, e é deliberadamente estreito.
Até onde os sinalizadores da CLI realmente chegam
O guia de linha de comando do Mac documenta --version e --list-profiles em relação ao executável do OpenVPN Connect. O caminho na documentação é um espaço reservado e deve ser substituído pelo binário dentro do pacote do aplicativo instalado. Coloque esse caminho entre aspas, porque nomes de pacotes de aplicativos geralmente contêm espaços.
Esse binário não é o openvpn executável do Homebrew. São programas diferentes com sinalizadores diferentes, e executar a saída de ajuda do cliente da comunidade contra uma pergunta sobre o Connect produz uma resposta errada e confiante.
Execute a consulta no contexto do usuário cujos perfis você deseja inspecionar. O armazenamento de perfis é estado por usuário, então um shell de administrador pode ver um inventário diferente ou nenhum. Se a lista estiver vazia enquanto a GUI mostra claramente uma conexão, essa discrepância é a primeira coisa a verificar.
Leia o registro, não apenas o nome
Os campos listados existem para desambiguar entradas que parecem iguais. Dois perfis podem compartilhar um nome de exibição e ainda apontar para hosts diferentes, e o identificador é o que os distingue quando você anota o que quer dizer. Anote o ID ao lado do nome, não no lugar dele.
O campo tipo informa como o perfil se autentica: login automático, bloqueado por usuário ou bloqueado por servidor. Essa classificação explica qual credencial o aplicativo pedirá e se uma conexão pode começar sem uma pessoa presente.
O nome do host e a substituição de servidor são os fatos de roteamento. Um nome familiar mais uma substituição para um host staging é uma conexão diferente do mesmo nome sem substituição, e somente o registro mostra a diferença. Compare a substituição antes de comparar qualquer outra coisa. É o campo mais frequentemente deixado de lado quando um perfil é recriado manualmente.
Por que a pasta de armazenamento é um mau substituto
O diretório em Application Support é armazenamento privado, não uma interface documentada. Seu layout pode mudar entre versões, e os arquivos dentro dele só têm significado para o aplicativo que os escreveu.
Copiar essa pasta para outro Mac transporta os arquivos, mas não o contexto do qual eles dependem. As entradas do Keychain, o usuário registrado e a contabilidade do próprio aplicativo são separados, então uma pasta copiada pode parecer no lugar e ainda assim não conseguir conectar. Uma migração que parece completa e não conecta é pior do que uma que se recusa a começar.
Trate a pasta como um backup de valor desconhecido, não como um formato de migração. Se precisar mover uma conexão, mova um perfil de origem emitido pelo servidor, não um pedaço do estado de outra instalação.
O que o inventário não pode lhe dizer
A lista não exporta um arquivo .ovpn portátil e não devolve as credenciais ou certificados que o aplicativo mantém. Ela informa que um perfil existe e a que se destina. Como recriá-lo em outro lugar é uma pergunta separada com uma resposta separada.
Para a migração, obtenha o perfil original aprovado ou o download atual do servidor e depois importe-o pelo fluxo de trabalho suportado. O sinalizador de importação documentado recebe um arquivo de origem; a direção de exportação não faz parte dessa interface.
Mantenha a saída do inventário limpa
A saída pode conter nomes de host internos e identificadores de conta. Trate-a como qualquer outra exportação de inventário e oculte os campos de host e usuário antes de compartilhar uma captura de tela.
A inspeção não exige um interruptor de importação nem uma senha. Se um comando que você recebeu pedir credenciais apenas para listar perfis, pare e verifique os sinalizadores documentados. A lista é uma consulta somente leitura, e deve continuar assim.