Copilot no WSL Ubuntu não consegue acessar login.microsoftonline.com: Correção
🔍 WiseChecker

Copilot no WSL Ubuntu não consegue acessar login.microsoftonline.com: Correção

Você instalou o Copilot no WSL Ubuntu, mas ele falha na autenticação. A mensagem de erro informa que o Copilot não consegue acessar login.microsoftonline.com. Isso acontece porque a configuração de rede do WSL isola o Ubuntu das configurações de proxy e DNS do Windows. Este artigo explica por que a conexão falha e fornece correções passo a passo para restaurar a autenticação do Copilot.

Principais pontos: Corrigindo o Acesso de Rede do Copilot no WSL Ubuntu

  • /etc/resolv.conf do WSL: Controla a resolução de DNS. Se apontar para localhost, atualize para usar o servidor DNS do Windows.
  • Firewall do Windows Defender: Bloqueia o tráfego de saída do WSL para login.microsoftonline.com na porta 443. Adicione uma regra de permissão para o processo do WSL.
  • Variáveis de ambiente de proxy do Copilot: Defina HTTP_PROXY e HTTPS_PROXY no WSL se sua rede usar um proxy corporativo.

ADVERTISEMENT

Por que o Copilot no WSL Ubuntu não consegue acessar os servidores de login da Microsoft

O WSL versão 2 é executado dentro de uma máquina virtual leve. Essa VM usa um adaptador de rede virtual que não herda automaticamente as configurações de proxy do Windows. Quando o Copilot tenta acessar login.microsoftonline.com, a solicitação pode ser bloqueada pelo firewall do Windows ou mal roteada devido à configuração incorreta de DNS no WSL. A distribuição Ubuntu dentro do WSL também não lê as configurações de proxy ou DNS do Windows por padrão. Se sua organização usa um servidor proxy, o Copilot falhará na autenticação porque o ambiente WSL não envia tráfego através desse proxy.

Outra causa comum é o arquivo /etc/resolv.conf do WSL. O WSL gera esse arquivo automaticamente e frequentemente define o nameserver como 127.0.0.1, que aponta para um resolvedor local que pode não encaminhar as solicitações corretamente para o servidor DNS do Windows. Quando o nameserver está incorreto, o Copilot não consegue resolver o nome do host login.microsoftonline.com para um endereço IP, causando um tempo limite de conexão.

Isolamento de Rede no WSL 2

O WSL 2 usa um switch virtual Hyper-V. A instância Ubuntu recebe um endereço IP privado em uma rede NAT. Essa rede NAT não tem acesso direto às configurações de DNS ou proxy do host Windows. A documentação da Microsoft afirma que o WSL 2 não suporta o modo de rede do host. Isso significa que toda conexão de saída do WSL deve passar pela pilha de rede do host Windows. Se o firewall do Windows bloquear o adaptador virtual do WSL, o Copilot não conseguirá acessar nenhum endpoint externo.

Resolução de DNS Incorreta no WSL

Por padrão, o WSL escreve o endereço do servidor DNS 127.0.0.1 no /etc/resolv.conf. Isso aponta para um resolvedor de DNS local que é executado dentro do WSL. No entanto, esse resolvedor pode não encaminhar consultas para o servidor DNS do Windows quando a rede é complexa, como ao usar VPNs ou redes corporativas. Quando o Copilot tenta resolver login.microsoftonline.com, a consulta DNS falha e o aplicativo retorna um erro de rede.

Variáveis de Ambiente de Proxy Ausentes

Muitas redes corporativas exigem que o tráfego passe por um servidor proxy. O Windows armazena as configurações de proxy no registro e nas configurações do sistema. O WSL não lê essas configurações. Se sua organização usa um proxy, o Copilot no WSL não conseguirá acessar login.microsoftonline.com até que você defina as variáveis de ambiente HTTP_PROXY e HTTPS_PROXY no shell Ubuntu. Sem essas variáveis, a solicitação de autenticação é enviada diretamente e é bloqueada pelo servidor proxy.

Passos para Corrigir a Conectividade do Copilot no WSL Ubuntu

Método 1: Configurar o DNS no WSL

  1. Abra o terminal Ubuntu
    Inicie sua distribuição WSL Ubuntu pelo menu Iniciar ou executando wsl no Prompt de Comando.
  2. Verifique as configurações atuais de DNS
    Execute cat /etc/resolv.conf. Se a linha nameserver mostrar 127.0.0.1, o DNS está mal configurado.
  3. Crie um novo arquivo resolv.conf
    Execute sudo nano /etc/resolv.conf e substitua o conteúdo por:
    nameserver 8.8.8.8
    nameserver 1.1.1.1
    Salve o arquivo com Ctrl+O e saia com Ctrl+X.
  4. Impeça o WSL de sobrescrever o resolv.conf
    Execute sudo nano /etc/wsl.conf e adicione estas linhas:
    [network]
    generateResolvConf = false
    Salve e saia.
  5. Reinicie o WSL
    Feche o terminal Ubuntu. No PowerShell do Windows, execute wsl --shutdown. Depois reinicie o Ubuntu.
  6. Teste a resolução de DNS
    No Ubuntu, execute nslookup login.microsoftonline.com. Você deve ver endereços IP resolvidos. Caso contrário, verifique a linha nameserver.

Método 2: Permitir o WSL no Firewall do Windows

  1. Abra o Firewall do Windows Defender com Segurança Avançada
    Pressione Win+R, digite wf.msc e pressione Enter.
  2. Crie uma regra de saída para o WSL
    Clique com o botão direito em Regras de Saída e selecione Nova Regra. Escolha Programa e navegue até C:\Windows\System32\wsl.exe. Clique em Avançar.
  3. Permita a conexão
    Selecione Permitir a conexão. Clique em Avançar.
  4. Aplique a regra a todos os perfis
    Marque Domínio, Privado e Público. Clique em Avançar.
  5. Nomeie a regra
    Digite Acesso de Saída do WSL e clique em Concluir.
  6. Teste o Copilot
    Abra o Ubuntu e tente autenticar o Copilot novamente. Se o erro persistir, reinicie o Windows para aplicar a alteração do firewall.

Método 3: Definir Variáveis de Ambiente de Proxy no WSL

  1. Encontre o endereço do proxy do Windows
    Abra Configurações > Rede e Internet > Proxy. Em Configuração manual de proxy, anote o Endereço e a Porta.
  2. Abra o perfil bash do Ubuntu
    Execute nano ~/.bashrc no Ubuntu.
  3. Adicione as variáveis de proxy
    Adicione estas linhas ao final do arquivo:
    export HTTP_PROXY=http://proxy.exemplo.com:8080
    export HTTPS_PROXY=http://proxy.exemplo.com:8080
    Substitua proxy.exemplo.com:8080 pelo endereço e porta reais do seu proxy.
  4. Salve e recarregue
    Salve o arquivo com Ctrl+O, saia com Ctrl+X e execute source ~/.bashrc.
  5. Teste o Copilot
    Execute o Copilot na mesma sessão do terminal. As variáveis de ambiente de proxy agora estão ativas.

ADVERTISEMENT

Se o Copilot Ainda Tiver Problemas Após a Correção Principal

O Copilot Retorna um Erro de Resolução de DNS

Se o Copilot ainda mostrar um erro de DNS após configurar o resolv.conf, a pilha de rede do WSL pode estar usando um DNS incorreto em cache. Execute sudo systemd-resolve --flush-caches no Ubuntu. Se o systemd-resolve não estiver disponível, reinicie o WSL completamente com wsl --shutdown no PowerShell e depois reabra o Ubuntu.

O Copilot Falha ao Autenticar com um Erro de Proxy

Se você definiu as variáveis de proxy, mas o Copilot ainda falha, o proxy pode exigir autenticação. Adicione o nome de usuário e a senha à URL do proxy no formato http://usuario:senha@proxy.exemplo.com:8080. Armazene essas variáveis no ~/.bashrc. Esteja ciente de que armazenar credenciais em texto simples é um risco de segurança. Use um serviço de autenticação de proxy dedicado, se disponível.

O Copilot Não Consegue Acessar Nenhum Servidor Externo

Se o Copilot não conseguir acessar nenhum servidor, o adaptador virtual do WSL pode estar desabilitado. Abra o Gerenciador de Dispositivos do Windows, expanda Adaptadores de rede e procure pelo Adaptador Ethernet Virtual Hyper-V. Certifique-se de que ele está habilitado. Em seguida, execute wsl --shutdown e reinicie o Ubuntu.

Item WSL 1 WSL 2
Tipo de rede Compartilhada com o host Windows Rede NAT virtual
Herança de DNS Herda o DNS do Windows automaticamente Usa resolvedor interno, pode precisar de configuração manual
Herança de proxy Herda as configurações de proxy do Windows Não herda proxy; é necessário definir variáveis de ambiente
Impacto do firewall Usa o processo do Windows diretamente Requer regra de saída explícita para wsl.exe
Autenticação do Copilot Geralmente funciona sem ajustes Frequentemente falha sem ajustes de DNS ou firewall

Agora você pode configurar DNS, firewall e proxy no WSL Ubuntu para que o Copilot consiga acessar login.microsoftonline.com. Comece com a correção de DNS, pois resolve a causa mais comum. Se você usa uma rede corporativa, defina as variáveis de ambiente de proxy em seguida. Para problemas persistentes, execute wsl --shutdown para redefinir a pilha de rede do WSL antes de testar novamente. Como etapa avançada, considere usar um arquivo de configuração do WSL que importe as configurações de proxy do Windows automaticamente usando um script no .bashrc.

ADVERTISEMENT