Falha de autenticação para bitbucket


91

Estou tentando enviar meu projeto por meio do protocolo https no bitbucket usando o sourcetree.
Mas não consigo me conectar ao bitbucket com meu login e senha (que funcionam no site), tenho um erro fatal: "Falha na autenticação".

Eu li em outros posts que posso contornar o problema usando o protocolo ssh em vez do https, então configurei uma chave ssh seguindo as instruções no faq da árvore de origem . Mas agora não sei como posso mudar para o protocolo ssh quando quero empurrar meu código. Alguém sabe como posso fazer isso? Obrigado.


13
Mude o endereço de origem remota de https ( ou seja: https: // <nome de usuário> @ bitbucket.org / <nome de usuário> / <repo> .git ) para ssh ( ou seja: git@bitbucket.org: <usuário> / <repo>. git ). Você encontrará esses endereços no lado direito da página do seu repositório. ( git remote set-url origin git@bitbucket.org: <user> / <repo> .git )
Alexandru Guzinschi

Isso deve ser marcado como resposta.
ronnyfm

Ainda não tem soluções? (Presumo que, olhando, não haja uma resposta aceita)
Talha

Exclua os nomes de usuário padrão e senhas salvas. Funcionou para mim com um problema semelhante. Ferramentas> Opções> Autenticação
NoamG

Isso aconteceu comigo quando o servidor de autenticação remota caiu. Se for esse o caso, nada pode ser feito a respeito, exceto se comprometer localmente e ser paciente.
Cameron Donahue

Respostas:


123

Se você tiver problemas de autenticação com o console GIT, pode tentar mudar sua configuração para HTTPS e especificar usuário e senha com o seguinte comando:

https://<username>:<password>@bitbucket.org/<username>/<repo>.git

MAS CUIDADO: Voltando a esta resposta que respondi há muito tempo, gostaria de dar os créditos a @ChristopherPickslay por apontar que a senha é armazenada como texto não criptografado no .git/configarquivo.

Se quiser usar HTTPS, você pode armazenar com segurança sua senha com o gerenciador de credenciais Git

Mas, pessoalmente, agora sempre uso a autenticação SSH, pois parece uma prática melhor, porque você usa um par pessoal de chaves públicas / privadas que impedem que sua senha seja armazenada externamente. Além do fato de que você pode colocar uma frase-senha em sua chave, você também precisa armazenar a senha em um gerenciador de credenciais ou agente ssh.


3
Err ... Minha resposta não foi aleatória. Pois eu estava com o mesmo problema e queria mudar para o protocolo SSH, mas não é necessário para fazer funcionar. Especificar diretamente a senha pode fazer o método de autenticação https funcionar. Apenas dizendo'.
Alex

2
Sei que não é aleatório, mas não responde à pergunta. Se você modificar sua resposta para também abordar a autenticação SSH, terei o prazer de remover meu downvote :)
Dan

19
Desfazendo a votação negativa. Isso resolveu meu problema. Eu não queria uma solução ssh. As questões de estouro de pilha não vivem no vácuo. Uma resposta útil é uma resposta útil.
funroll de

11
Também observando o comando específico que usei git remote set-url origin https://<username>:<password>@bitbucket.org/<username>/<repo>.git.
funroll de

22
Isso coloca sua senha em texto não criptografado em seu arquivo
.git

47

Recentemente, tive um problema semelhante com SourceTree: sempre que tentava empurrar / puxar / buscar de / para a origem remota, recebia um erro de autenticação (usando SourceTree com Stash). Às vezes, eu seria desafiado no Stash com um CAPTCHA, mas nunca fez diferença se eu fornecia as informações corretas ou não.

Para mim, estamos usando SourceTree e Stash em um ambiente corporativo; contas de usuário são baseadas em credenciais de rede. Parte de nossa segurança de rede exige que alteremos essas senhas regularmente.

Eu estava partindo do princípio de que SourceTree / Stash estava "ciente" de qualquer alteração feita em minha senha de rede. Mas aparentemente - pelo menos neste caso - não foi.

Para consertar, tudo que eu precisava fazer era:

Ferramentas> Opções> Autenticação> Editar (Editar senha)

Eu defini a senha para corresponder à minha senha de rede atual e tudo começou a funcionar conforme o esperado.

Não tenho certeza se isso ajuda o OP, mas espero que possa ajudar alguém a procurar respostas para um problema semelhante.


Estou usando o SourceTree + Bitbucket, mas não em um ambiente corporativo (ou seja, credenciais específicas do Bitbucket) e alterar a senha por meio do método sugerido funcionou. Obrigado :)
Steve Wilford

8
Não consigo encontrar nada como 'Ferramentas', 'Opções', 'Autenticação' ou 'Editar senha' no SourceTree .. Mas estou em um Mac.
Sti de

1
Os usuários do @Sti Mac precisam ir para Preferências no menu SourceTree (em vez do menu Ferramentas / Opções).
BrendanSimon,

Para usuários de Mac: Vá para SourceTree -> Preferências -> Contas, selecione a conta, clique em Editar, em seguida, clique em Conectar conta e faça o login com sua conta Atlassian lá.
Vladimir Grigorov

23

Ferramentas -> opções -> git e selecionar 'usar sistema git' fez a mágica para mim.


4
'SourceTree> Preferences> Git' no OSX.
Tbadams

22

Tentei de tudo e não consegui fazer nada, mas realmente funcionou para mim "Para atualizar suas credenciais, vá para Painel de Controle -> Gerenciador de Credenciais -> Credenciais Genéricas . Encontre as credenciais relacionadas à sua conta git e edite-as para usar as senhas atualizadas".

Solução acima encontrada neste link: https://cmatskas.com/how-to-update-your-git-credentials-on-windows/


1
Para ser específico para o Windows 10: Painel de Controle -> Conta do Usuário -> Gerenciador de Credenciais -> Gerenciar Credenciais do Windows
William Hou

16

Resolvi o problema editando o valor armazenado no OS X Keychain : procurei "bitbucket"(como senha do aplicativo ) e alterei o valor.

Então, no Sourcetree , quando tentei empurrar, tive que inserir novamente minha nova senha diretamente.


2
Excluir aquele chaveiro me ajudou porque fez com que a árvore de origem solicitasse uma nova senha.
novomanish

No MacOS 10.13 (High Sierra) é muito importante reiniciar a máquina (ou talvez pelo menos fazer logout / login) para que isso funcione depois que você excluiu as entradas das chaves. Caso contrário, a nova senha não poderia ser armazenada no keychain por Sourcetree e cada operação git causa muitos prompts de senha.
Ernie

11

O problema foi resolvido para mim depois de alterar a senha do repositório, sem usar caracteres especiais (! "§ $% &&).

Obviamente, win-credential-store e a interface da web git e bitbucket usam codificações de caracteres diferentes.

procedimento completo:

D:\shared\Project> cd /path/to/your/project
D:\shared\Project> git init
D:\shared\Project> git remote add origin https://bitbucket.org/USERNAME/project.git
D:\shared\Project> git-credential-winstore.exe

então

D:\shared\Project> git push
Failed to erase credential: Element not found
fatal: Authentication failed for 'https://bitbucket.org/USERNAME/project.git/'

Depois de alterar a senha longa:

D:\shared\Project> git push
Counting objects: 102, done.
Delta compression using up to 8 threads.
... etc. ...

Configurações no repositório do Windows:

address: git:bitbucket.org (remeber the preceding "git:")
user: USERNAME
pass: old incl!"§§$%&, new without!"§$%%&/( (your passphrase!)

Da mesma forma, eu precisava alterar meu nome de usuário para algo sem um sublinhado nele.
Overlord Zurg

1
Uau. isso está além de criminalmente estúpido. Parece que sabemos quais senhas de contas bitbucket do Atlasian não contêm símbolos. Ughhh.
deweydb

9

Menu de inicialização do Windows, Pesquisar gerenciador de credenciais do Windows. Pesquise pelo url do bitbucket, tente atualizar a senha lá ... e execute a operação git novamente. Deve funcionar.


Essa foi a solução no meu caso. Estou executando o Windows 7 e tive uma alteração de senha recente. As credenciais em cache do servidor bitbucket estavam desatualizadas no Credentials Manager.
Brett

É verdade que o gerenciador de credenciais do Windows armazena senhas e detalhes. O problema é devido ao cache. Portanto, verifique sempre a senha no gerenciador de credenciais.
Pankaj Chauhan


4

Eu tive o mesmo problema. Tem algo a ver com um bug no Git para Windows. Para mim, foi suficiente mudar o Git usado em SourceTree para o embutido:

Ferramentas -> Opções -> Git e clique no botão 'Usar Git Embutido'


4

Tools> Options> Use System Git, Em seguida, selecione o git.exearquivo

insira a descrição da imagem aqui

As credenciais serão solicitadas novamente e o problema será resolvido.


Alguém pode fornecer detalhes sobre por que isso funciona?
Scope Creep

3

Depois de lutar com isso por um longo tempo, parece que encontrei algo que parece funcionar. Eu estava otimizando os urls para não incluir o nome de usuário (mantenha-o o mais genérico possível), mas a caixa de diálogo de autenticação continuava aparecendo:

insira a descrição da imagem aqui

Tentei tudo que me veio à mente, como:

  1. Ativar e desativar MFA (autenticação multifator)
  2. Crie senhas de aplicativos (novamente, com e sem MFA habilitado)

Não importa quais ferramentas eu usei (incluindo SourceTree), nada funcionou. O servidor continuava retornando: "Criar uma senha de aplicativo"

Basicamente você deve

  1. Use o url incluindo o nome de usuário (por exemplo, https: //myusername@bitbucket.org/ ... )
  2. Use uma senha de app criada no bitbucket

Seria tão bom se o servidor tivesse retornado isso na resposta em vez de sugerir o uso de uma senha de app ...


3

Para usuários de Mac . Havia uma conta padrão definida na árvore de origem que não me permite clonar a URL porque minha URL atual era de uma conta bitbucket diferente. Então, ele mostra o caminho de origem inválido e eu clico em Opções avançadas e descobri que a autenticação falhou em your_clone_url. Então, siga estas etapas

  1. Selecione a árvore de origem. Vá para o menu SourceTree -> Selecionar Preferências .
  2. Ele mostrará a janela Contas . Em seguida, escolha contas insira a descrição da imagem aqui

Aqui, ele mostrará a lista de suas contas adicionadas. Basta clicar no botão Adicionar na parte inferior e adicionar os novos detalhes da sua conta bitbucket. Ele listará sua conta na guia Contas. Você também pode definir a conta padrão clicando no botão Definir padrão .. na parte inferior. Agora tudo está feito.


2

Se você criou uma conta usando google / other oauth, será necessário definir uma senha bitbucket para sua conta primeiro. O URL para isso é: https://bitbucket.org/account/user/ / ou procure as configurações do Bitbucket no menu.

Em seguida, pode fazer o login do git (tentei via linha de comando). Eu uso o gerenciador integrado para credenciais:

credential.helper = manager

Agora, depois de definir a senha no site do bitbucket (e-mail verificado também) e tentar empurrar novamente, ele me solicitou a senha e, em seguida, empurrou o código.

Imagem de localização do menu na página da web do bitbucket -> http://ctrlv.in/747291 em maio de 2016.


2

Eu tive o mesmo problema. Você precisa adicionar uma senha de app para a árvore de origem nas configurações do bitbucket. Clique em "Configurações do Bitbucket" no menu, Senhas de aplicativo, criar senha de aplicativo. Em seguida, vá para SourceTree e edite sua senha salva


1
  • Dentro da empresa, mas será verdade em qualquer lugar.
    • Saia do Bitbucket (caso você esteja usando)
    • Faça login com sua credencial
    • Volte para o console
    • Dispare o mesmo comando
    • Ele pedirá uma senha - forneça-a.
    • Você está pronto para ir.

1

Esse problema ocorre porque a senha da sua conta git e do seu PC podem ser diferentes. Portanto, inclua seu nome de usuário conforme mostrado no exemplo abaixo:

https://myusername@bitbucket.org/...

https: //devi@bitbucket.org/...


1

RESPOSTA OBSOLETA - VERIFICADA EM 17 DE NOVEMBRO DE 2020


No Mac, eu precisava ir para Preferences > Accounts, adicionar uma nova conta como Bitbucket Servere inserir o URL do servidor bitbucket da minha empresa. Então tive que escolher HTTPScomo protocolo e digitar meu nome de usuário (sem @email) e senha.

Além disso, defino essa nova conta como a conta padrão clicando no Set Default...botão na parte inferior da Preferences > Accountpágina.


0

Nenhuma das opções acima funcionou para mim - o problema estava em minhas Preferências do Sourcetree. Na guia Rede, eu tinha uma configuração para 'Nomes de usuário padrão para URLs que não incluem um:'. O nome de usuário estava incorreto onde eu o havia inserido incorretamente anteriormente - eu o havia definido como meu e-mail em vez do nome de usuário. Eu destaquei as entradas e cliquei em Remover para ambas. Em seguida, voltei para a página do meu repositório e cliquei em Push novamente. No push, ele me pediu o nome de usuário e a senha completos, que consegui inserir corretamente - o push finalmente funcionou.


0

O problema para mim era que eu não tinha uma conta adicionada ao Sourcetree.

Adicionar uma conta me permitiu enviar para meu repo:

Ferramentas> Opções> Autenticação> Adicionar> Atualizar Token OAuth

insira a descrição da imagem aqui


0

Tentei quase todas as soluções fornecidas aqui.

O que funcionou para mim foi abrir a GUI do GIT e tentar fazer push. Que peça as credenciais, digite o ID do usuário e a senha corretos, ele começará a funcionar novamente.


0

Eu estava usando o comando abaixo

git clone -b branch-name https://<username>@bitbucket.org/<repository>.git

O problema foi resolvido após adicionar a senha com o nome de usuário (veja o comando abaixo):

git clone -b branch-name https://<username>:<password>@bitbucket.org/<repository>.git

0

No Windows isso funcionou para mim

git config --global http.sslVerify false


0

Eu tive o mesmo problema quando a redefinição de senha aconteceu para o domínio. Tentei quase todas as etapas em
(Ferramentas> Opções> Autenticação). Mas nada funcionou. Finalmente recebi a resposta abaixo da página da comunidade atlassian e funcionou.

A única coisa que funcionou para mim foi navegar para C: \ Users \ USERNAME \ AppData \ Local \ Atlassian \ SourceTree e remover o arquivo passwd

Depois que o arquivo foi excluído, eu apenas fiz um "push" e finalmente pedi minha senha

https://community.atlassian.com/t5/SourceTree-questions/How-to-update-HTTP-S-credentials-in-sourcetree/qaq-p/297564

https://community.atlassian.com/t5/Sourcetree-questions/Getting-quot-fatal-Authentication-failed-for-quot-error/qaq-p/624663


0

Recebi este erro ao usar o Azure DevOps, embora tenha adicionado um token de acesso pessoal como mostrado no exemplo.

insira a descrição da imagem aqui

Resolvido executando a git pull -vpartir do terminal Sourcetree e adicionando os tokens de acesso pessoais novamente por lá.

insira a descrição da imagem aqui


0

Eu estava tentando fazer a git push --all bitbucketchamada e estava gerando a resposta "fatal: Falha na autenticação para 'https: // ...". A solução que funcionou para mim foi alterar o comando para:

git push --all https://{username}@{url}

No Windows, apareceu uma caixa de diálogo que me permitiu inserir minha senha e o push funcionou.

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.