Erro fatal do Git: falha na autenticação


102

Estou tentando usar o git para enviar meu repositório para um projeto de serviços de equipe do Visual Studio, mas recebo o erro:

fatal: Authentication failed for (url of team project

Estou usando o cmds:

git remote add origin
     https://XXXXXXX.visualstudio.com/DefaultCollection/_git/project

git push -u origin -–all

Alguma ideia da solução para isso?

Obrigado!


1
Como você está se autenticando? Token de acesso pessoal? Credenciais de acesso alternativas?
Daniel Mann,

Respostas:


196

Tive o mesmo problema recentemente (visual studio 2017 e Windows 10) e o resolvi usando o seguinte método:

Painel de controle -> Gerenciador de credenciais -> Gerenciar credenciais do Windows -> Escolha a entrada do repositório git e edite o usuário e a senha.

Feito.


1
Usei esse método quando meu token de acesso pessoal expirou. Vá para <<URL>> / _ usersSettings / tokens para criar um novo e, em seguida, defina-o como a senha no Credential Manager.
Even Mien

34

Se você deseja usar o GIT CLI e não interagir com a compilação em GIT wrappers no Visual Studio, você precisa habilitar as Credenciais de Autenticação Alternativas

Quão?

Open your account (VS Online account) 
-> click on your name on the top right 
-> My Profile
-> Credentials.

e configurá-lo.


insira a descrição da imagem aqui

insira a descrição da imagem aqui


4
A segurança é um item separado no menu agora. Se você clicar em perfil, ele irá para uma página muito diferente.
Lukos

2
pode variar entre as versões. é por isso que adicionei screenshot
CodeWizard

1
Eu não tive que fazer isso. Usar um PAT para Git Bash parece estar funcionando bem.
Josh Gust

1
Use um PAT em vez de credenciais alternativas.
Edward Thomson

1
A habilitação da credencial alternativa não é recomendada: as credenciais do domínio transitam em texto não criptografado e podem acabar nos logs do IIS da camada de aplicativo
Giulio Vian

27

Eu enfrentei o mesmo problema. A janela de saída de erro é semelhante a esta: imagem falhou autenticação

Seguir as etapas resolveu o problema:

  1. Vá para Painel de Controle -> Gerenciador de Credenciais -> Credenciais do Windows
  2. Abaixo da Credencial genérica, escolha uma entrada para a senha git & update.

    janela de solução

  3. A senha deve ser igual à senha de login do Windows (sistema).


17

A melhor opção hoje é instalar https://github.com/Microsoft/Git-Credential-Manager-for-Windows que suporta VSO, GitHub e está melhorando a cada mês.


2
@dotnetdev Aceite esta resposta porque esta é uma forma recomendada de resolver o problema.
Deilan

1
Isso também está disponível para Mac e Linux em github.com/Microsoft/Git-Credential-Manager-for-Mac-and-Linux - funcionou perfeitamente para mim sem ter que adicionar "credenciais alternativas" menos seguras.
Breeno

1
Esta é de fato a solução "de fato" fornecida pela Microsoft. Outras soluções que realmente funcionam aqui devem ser consideradas como ajustes.
Stephane

11

Com VSTS, o url é, quando você copia o url do clone git de vsts, você sempre obtém

https: // orgname @ dev.azure.com / org / project / _git / repo

Substitua orgname @ pelo seu nome de usuário alternativo que você teria criado em VSTS -> perfil -> Segurança.

url final do git -

https: // alternateusername @ dev.azure.com / org / project / _git / repo


7

Eu tive o mesmo problema, tentei atualizar minha senha usando o gerenciador de credenciais do Windows, mas ainda não corrigiu o problema

Painel de controle -> Gerenciador de credenciais -> Gerenciar credenciais do Windows -> Escolha a entrada do repositório git e edite o usuário e a senha.

Em seguida, excluí todas as entradas relacionadas ao git no gerenciador de credenciais e tentei usar o Git usando o visual studio, desta vez, ele solicitou novas credenciais


5

Exclua '.git / config' e tente novamente. Atenção, isso pode redefinir algumas configurações do git também!

Eu tentei credenciais alternativas e token de acesso pessoal muitas vezes com a credencial certa e ficava me dizendo "fatal: falha na autenticação".

Finalmente, descobri que existe um arquivo chamado ".git / config" localizado na raiz do meu Repo. Eu apaguei este arquivo e digitei minhas credenciais novamente, funcionou.


3

De repente, comecei a receber este erro ao tentar enviar alterações do VS2017 para um repositório VSTS Git. Essa funcionalidade funcionou no dia anterior.

Verifiquei meu arquivo git.log e vi uma exceção diferente: -

19: 43: 57.116665 ... zureAuthority.cs: 184 trace: [ValidateCredentials] servidor retornou: 'Incapaz de conectar ao servidor remoto.

Eu baixei a fonte Git CredentialManager mais recente do repositório Gits Credential Manager e depurei.

Uma vez autenticado, ocorreu a seguinte exceção: -

Nenhuma conexão pôde ser feita porque a máquina de destino a recusou ativamente 127.0.0.1:8888

Então percebi que recentemente configurei o Fiddler para agir como um proxy para todos os serviços de acordo com o artigo capturing-traffic-from-.net-services-with-fiddler

Depois de executar o Fiddler, consegui me conectar com êxito.


3

Minha solução foi um pouco diferente e mais rápida :)

  1. Acesse as Credenciais do Windows (Iniciar-> Credenciais do Windows) e remova as credenciais do seu repositório (elas começam com git: xxx)
  2. Vá para VSCode e no Terminal escreva:

    config credential.helper wincred

  3. Vá para o Visual Studio (sem VSCode) e faça um git pull. Um pop-up será exibido solicitando credenciais. Coloque suas credenciais para o repo

  4. Vá para VSCode e faça um git pull. As credenciais foram obtidas automaticamente na loja wincred

As credenciais são criadas e armazenadas automaticamente no wincredentials, portanto, da próxima vez, você não poderá ser solicitado a fornecer credenciais. (também um token de acesso pessoal será fornecido em visualstudio.com se você estiver usando o repositório git hospedado pelo DevOps).


Iniciar-> Windows Credentials funciona perfeitamente! Obrigado!
Highriser

2

Para usuários do Linux que não podem usar o Microsoft Credential Manager. Esta é a única solução que encontrei além de usar o ssh. Você precisa gerar as credenciais na visualização do repositório (veja as imagens abaixo) obter credenciais git

E o resultado é: obter resultado de credenciais Git

Copie a senha! Devops do Azure não o armazena e você não poderá vê-lo novamente!

NB: a partir de 2020, as credenciais alternativas foram desativadas, verifique o blog da Microsoft


1

Já tentei várias opções, mas a que funcionou para mim foi:

  1. Baixe o Git Password Manager de sua seção de versões

  2. Tente fazer algo simples git fetchque trará automaticamente a janela (alterne para o Windows padrão, por exemplo) e peça para inserir o nome de usuário e a senha, mas de forma mais elegante que o padrão.

Depois de inserir as credenciais corretamente, funcionou, embora eu estivesse recebendo um erro antes.

PS Se você estiver recebendo o tipo de erro "Credenciais erradas", sempre verifique se o nome de usuário e a senha do repositório estão corretos. Se você hesitar, apenas redefina a senha e tente usar a mesma na janela do gerenciador de senhas do Git.


1

Tive este problema e as instruções de um técnico da Microsoft o corrigiram para mim:

  • Feche todas as instâncias do Visual Studio.
  • Abra o Gerenciador de Tarefas e verifique se algum serviço TFS está sendo executado. Selecione cada um deles e clique em End Process Tree.
  • Navegue até a pasta abaixo e exclua todo o conteúdo e pastas em% LocalAppData% \ Microsoft \ Team Foundation {version} \ Cache
  • Vá para Painel de Controle -> Contas de Usuário -> Gerenciar sua Credencial -> Credencial do Windows, selecione o URL do VSTS para removê-lo
  • Em seguida, vá para "C: \ Usuários \ NOME DE USUÁRIO \ AppData \ Local \ GitCredentialManager \ tenant.cache" e exclua-o
  • Vá também para "C: \ Usuários \ NOME DE USUÁRIO \ AppData \ Local.IdentityService" e exclua-o

0

Tudo que eu precisava eram as credenciais corretas. durante a implantação em um aplicativo da web, tive que ir ao Deployment Center, Deployment Credentials. Em seguida, use as credenciais do aplicativo ou crie as credenciais do usuário. Depois disso, exclua as credenciais armazenadas em cache na máquina local (janelas: Painel de controle \ Contas do usuário \ Gerenciador de credenciais). execute "git push webapp master: master" novamente e insira uma das credenciais de implantação. Isso funcionou para mim.


0

No caso de você estar em algo diferente do Windows e seu chefe estiver forçando você a usar o azure devops, e você não quiser usar o SSH e quiser usar da maneira antiga, faça o seguinte.

Você deve habilitar 'Credenciais alternativas' (eu sei que é irritante) ou você precisa criar um token de acesso. A criação de um token de acesso, neste caso, é mais como uma senha aleatória temporária. Se você usar as ferramentas do Windows, isso é feito para você.

De qualquer forma, vá para Securityno menu de contexto do perfil no canto superior direito.

Configurações de segurança

Então, se o seu chefe / gerente / cara que tem direitos de administrador estiver favorecendo você, as 'credenciais alternativas' serão habilitadas. Caso contrário, aceite seu destino e gere um 'token de acesso pessoal'.

Configurações de segurança


0

2 a 5 minutos para configurar!

  • Crie suas chaves SSH (~ / .ssh /)

ssh-keygen -C "jamal@fabrikam.com"

  • Adicione a chave pública ao Azure DevOps Services / TFS
  • Clone o repositório Git com SSH

Fonte


0

Depois de lutar com servidor de autenticação git e DevOps azuis e tentando outras respostas esta dica aqui funcionou para mim.

Usando o Visual Studio? O Team Explorer lida com a autenticação com Azure Repos para você.

Depois de me conectar ao repo usando o Team Explorer, eu poderia usar a linha de comando para executar comandos git.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.