Remoto GitLab: HTTP Básico: Acesso negado e autenticação fatal

269

Estou no Mac OS diferente deste post:

Eu tenho uma senha configurada no GitLab.

Eu tenho a chave SSL criada APÓS o projeto ser feito no GitLab.

Quando uso uma pasta existente para um novo projeto e sigo as etapas abaixo:

Pasta existente

cd existing_folder
git init
git remote add origin https://gitlab.com/sobopla/Geronimod.git
git add .
git commit -m "Initial commit"
git push -u origin master

Sou solicitado a inserir meu nome de usuário e senha do GitLab. Depois que a senha é inserida, recebo:

remoto: HTTP Básico: Acesso negado fatal: falha na autenticação para ' https://gitlab.com/myname/myproject '

jeancode
fonte
As respostas a seguir não funcionaram para mim .. Se ainda houver alguém enfrentando esse problema no mac ... esse link pode ajudar ... stackoverflow.com/questions/17659206/…
PALLAMOLLA SAI

Respostas:

537

Isso acontece toda vez que sou forçado a alterar a senha do Windows e nenhuma das respostas acima me ajudou.

Tente abaixo a solução que funciona para mim:

  1. Vá para o Windows Credential Manager . Isso é feito no Windows EN-US pressionando a tecla Windows e digitando 'credencial'. Em outras variantes localizadas do Windows, você precisa usar o termo localizado (consulte os comentários para alguns exemplos).

    Como alternativa, você pode usar o atalho control /name Microsoft.CredentialManagerna caixa de diálogo de execução (WIN + R)

  2. Edite a entrada git em Credenciais do Windows, substituindo a senha antiga pela nova.
mpro
fonte
3
Obrigado, que funcionou para mim também e resolveu o problema. Você precisa esta solução se você tiver contas diferentes Github no seu dispositivo
Dany Wehbe
4
Ela trabalhou para mim também embora eu estou usando múltiplos gilab contas então o que eu fiz eu atualizei meu toda a conta gitlab com a mesma senha que eu tenho na minha credencial Manger eo problema é resolvido Obrigado @ MPRO
Rajan Chauhan
6
Nota: digite-o no seu sistema de idiomas. Rus: "Credential Manager" = "Диспетчер Учетных Данных"
Dyno Cris
2
Ótima resposta. Esse é especialmente o caso das suas contas profissionais, nas quais é necessário alterar suas senhas de vez em quando.
geekidharsh
4
Em alemão, é "Anmeldeinformationsverwaltung" e depois "Windows-Anmeldeinformationen".
Nachtigall 03/12/19
169
   git config --system --unset credential.helper

em seguida, digite a nova senha para o servidor remoto Git.

hatanooh
fonte
22
Observe que no Windows você precisa executá-lo como administrador, caso contrário, obterá erros de permissão
Eternal21
6
Depende de onde você coloca suas credenciais. Se o comando anterior não funcionar, tente também usar o sinalizador global:git config --global--unset credential.helper
Vincent Lunat 15/10
Essa é a resposta mais relevante para o OP, pois trata do problema e não segue uma tangente "no Windows". Além disso, como uma nota lateral, pode ser necessário executar este comando como sudose o usuário não tem acesso a/etc
Ghostrydr
git config --system credential.helper manager, para usar credential.helper novamente.
hatanooh
Se você desabilitar o assistente de credencial, precisará fornecer nome de usuário e senha sempre que se conectar ao repositório GIT. Para correção que você pode definir ajudante novamente usando o seguinte comando: git configuração --global credential.helper loja
Tomasz Czechowski
86

Eu recebi o mesmo erro e resolvi isso da seguinte maneira:

  1. Aplicar comando do cmd (executado como administrador)

    git config --system --unset credential.helper

  2. E então removi o arquivo gitconfig de C: \ Arquivos de Programas \ Git \ mingw64 / etc / location (Nota: esse caminho será diferente no MAC, como "/ Usuários / nome de usuário")

  3. Depois disso, use o comando git como git pullorgit push , ele me pediu nome de usuário e senha. aplicando nome de usuário e senha válidos e comando git funcionando.

espero que isso ajude você ...

Bharti Ladumor
fonte
11
Se você receber esse erro, basta executar o prompt de comando como administrador e o erro desaparecerá.
Eternal21
FYI: Apenas redefinir a configuração (seu primeiro cmd) funcionou. Eu então fiz meu git empurrar e blammo! Eu acho que é porque minha loja exige alterações mensais de senha, para que o laboratório interno do git fique mal.
yardpenalty.com
1
também experimentá-lo desta forma com --global git config --global --unset credential.helper
Mike
Isso resolveu para mim em um Mac
Aditya Vikas Devarapalli
57

Para mim, o seguinte funcionou:

Não use sua senha do GitLab, mas crie um token de acesso e use-o em vez da sua senha:

  1. No GitLab, vá para Configurações > Tokens de acesso
  2. Crie um novo token (verifique a API )
  3. clone git ...
  4. Quando sua senha for solicitada, copie e cole o token de acesso em vez da sua senha do GitLab
JavAlex
fonte
4
Trabalhou para mim também!
Christian Ray Leovido 06/11/19
42

A única coisa que funcionou para mim foi usar em https://username:[email protected]/user/projectgitvez de https://gitlab.com/user/projectgit. Consulte https://gitlab.com/gitlab-com/support-forum/issues/1654

Paulo Morgado
fonte
1
Grande resposta ele funciona muito bem para mim, porque a minha git era privado, Obrigado
Mohammad H.
Obrigado. Embora para mim tenha que substituí-lo por um repositório SSL, sua resposta me ajudará. Eu voto positivo.
Muzzamil 01/04
Obrigado. Eu não tive esse problema ao usar o BitBucket ou o Github. Com o GitLab, tenho que criar um token de acesso pessoal e usá-lo na origem remotagit remote set-url origin https://usernameHere:[email protected]/usernameHere/projectNameHere
Woppi
38

Vá para o Windows Credential Manager (pressione Windows Key e digite 'credential') para editar a entrada git em Windows Credentials. Substitua a senha antiga pela nova.

Gerenciador de credenciais do Windows

Andy Quiroz
fonte
O OP está no macOS, não no Windows.
Matthieu Brucher
Isso não ajudaria o OP, mas funcionou como um encanto na minha caixa de desenvolvimento do Windows.
8777 Tony
obrigado u funcionou bem
Sirwan Rahimi
28

Eu também estava enfrentando o mesmo problema. O motivo do problema foi um erro de autenticação. Para resolver esse problema, vá para Painel de controle -> Gerenciador de credenciais -> Credenciais genéricas aqui, localize sua credencial do gitlab e edite-a. Verifique se a senha do seu ID está correta ou não

insira a descrição da imagem aqui

Kshama Jain
fonte
Isso fez o truque, no meu caso, foi porque a empresa nos obriga a alterar a senha do domínio a cada poucos meses. Essa alteração não atualizou as credenciais neste gerenciador de credenciais. Assim que atualizei a senha, ela estava funcionando.
K4yaman
21

Se você estiver usando o git> 2.11 e o Kerberos para interagir com o Gitlab, precisará definir esta configuração no git local para evitar o remote: HTTP Basic: Access deniederro.

$ git config --global http.emptyAuth true

Fonte

Pigueiras
fonte
Caso interessante, com o Kerberos. +1
VonC
1
Não estou usando o Kerberos, mas obrigado pela sua resposta.
Jeancode
Kerberosnão é necessário. Obrigado! git-scm.com/docs/git-config
contributorpw
Depois de fazer uma instalação limpa do Git no Windows, esta manhã. Esta resposta resolveu o erro de acesso negado para mim.
James
Vaca sagrada - eu passei por todas as outras sugestões e finalmente finalmente funcionou. Na verdade, estava usando o Kerberos!
Bon Crowder no MathFour
20

Basta adicionar seu nome de usuário antes do domínio:

https://**username**@gitlab.com/user/projectgit

E o assistente pedirá a senha

gal007
fonte
13

Tente o seguinte:

  1. Vamos para: C:/Users/(YourUserName)/
  2. Excluir arquivo .gitconfig
boy_vkallstar
fonte
12

Abra o prompt de comando como administrador e execute este comando:

git config --system --unset credential.helper
MD. Shafayatul Haque
fonte
não podia arquivo de configuração de bloqueio C: \ Program Files \ Git \ mingw64 / etc / gitconfig: Permissão negada
1
Você não usa o arquivo de configuração, basta abrir o prompt de comando como administrador e executar o comando. Espero que isso ajude
MD. Shafayatul Haque 19/10/19
12

Isso acontece se você alterar seu login ou senha da conta de serviço git (GitHub ou GitLab, Bitbacket, etc.). Você precisa alterá-lo também no Windows Credentials Manager.

Portanto, digite " Credential Manager " (rus. "Диспетчер Учетных Данных") no menu Pesquisa do Windows e acesse a sua conta de serviço git e altere os dados também.

insira a descrição da imagem aqui

Dyno Cris
fonte
Embora eu não tenha alterado meu usuário ou senha (é uma credencial do AD), isso aconteceu comigo devido a uma reconstrução do servidor Gitlab e a solução acima corrigiu esse erro.
Michael Hafner
11

Nota: não misture configurações SSL do GitLab e chaves SSH do GitLab .

Se o que você configurou no seu perfil do GitLab for uma chave pública SSH, seu URL HTTPS não a utilizará.

Em relação às suas credenciais HTTPS, verifique:

  • se a autenticação de dois fatores estiver desabilitada ou
  • se você tiver caracteres especiais em seu nome de usuário ou senha, ou
  • se você tem um ajudante de credenciais Git: git config credential.helper.
VonC
fonte
1
- Eu tenho um espaço no meu nome de usuário porque autentiquei o Gitlab através do Github - A autenticação de dois fatores está desabilitada - O que você quer dizer com "Se eu tiver um auxiliar de credencial do Git?"
jeancode
@ código jean Quero dizer: o que você vê quando digita git config credential.helper: isso poderia ter armazenado em cache as credenciais erradas.
VonC
@ jeancode Para o espaço, você o codificou por cento? ( en.wikipedia.org/wiki/Percent-encoding#Character_data:% 20)
VonC
Eu não fiz nada com o espaço no nome, o espaço vem do meu nome no GitHub, que o GitLab pegou durante o login de autenticação através do Github.
Jeancode
1
Eu estava recebendo o erro devido à tentativa de usar chaves de implantação enquanto a autenticação de dois fatores estava ativada. Aparentemente, você só pode usar tokens de acesso pessoal se dois fatores estiverem ativados.
Joshua Dyck
9

Há duas maneiras de contornar esse problema:

  1. Adicionei meu nome de usuário à frente da URL remota ( https: // nomedeusuário @ gitRepoURL )

    • Nem sempre a melhor solução; onde trabalho, apesar de estarmos avançando lentamente no uso do GIT, temos nossos aplicativos em uma unidade de rede; portanto, se eu fizer isso, somente eu posso fazer alterações, mesmo que alguém tenha trabalhado em um recurso.
  2. Não posso correr git config --system --unset credential.helper partir do GIT Bash, tive que abrir um prompt de comando do administrador e executá-lo lá (isso pressupõe que você instalou o GIT para que ele possa ser executado a partir do GIT Bash e do prompt de comando). No Bash, recebo o erro "Não foi possível bloquear o arquivo de configuração".

Artorias2718
fonte
para mais informações, consulte: git config -l. Tente também acima com em --globalvez de--system
Mike
9

Bem, eu enfrentava o mesmo problema sempre que alterava minha senha de login.

Abaixo está o comando que preciso executar para corrigir esse problema: -

git config --global credential.helper wincred

Depois de executar o comando acima, ele solicita novamente meu nome de usuário e senha atualizados .

Vikash Pandey
fonte
5

No meu caso, reinstalei a versão mais recente do git (atualmente 2.16.2). Não sei se minha versão antiga do git estava desatualizada, mas li em uma página do github que isso deve ser feito se você encontrar erros de clonagem https. Achei que era um erro de clonagem https, pois o erro é focado HTTP Basic, enquanto o GitLab usa HTTPS. Eu posso estar errado nesse processo de pensamento, mas a solução ajudou no meu caso, e espero que isso ajude alguém no futuro!

Andreas Forslöw
fonte
4

Vá para, em C:\Users\<<USER>> AND DELETE THE .gitconfig fileseguida, tente um comando que se conecta ao upstream como git clone, git pull or git push. Você será solicitado a inserir novamente suas credenciais. Por favor, faça isso.

Dennis Mutegi
fonte
4

eu removi a credencial gitlab do 'Credential Manager' no Windows e empurrei com sucesso

saiedkia
fonte
4

Vá para Painel de controle-> Gerenciador de credenciais-> Credenciais do Windows, selecione credenciais do github ou gitlab e modifique-as. Isto é para windows10

SanjX
fonte
3

funcionou para mim: eu uso o Mac e escrevi o caminho no localizador:

~ / Biblioteca / Suporte a aplicativos / SourceTree

Eu apaguei o arquivo de autenticação, que deve ser como

[email protected]

então tentei empurrar e puxar o código da árvore de origem e funcionou.

Você também pode ler as seguintes respostas:

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

Burcu Kutluay
fonte
2

Se você está tentando acessar o Gitlab com sua conta existente do Git. Você precisa redefinir sua senha do Gitlab, pela primeira vez.

  1. Etapa: navegue até a configuração clicando no ícone do seu perfil (menu suspenso no canto superior direito).
  2. Etapa: vá para configurações
  3. Etapa: Clique no ícone de cadeado ou no ícone de glifo (ou seja, senha).
  4. Etapa: Digite a nova senha para o Gitlab.
Gani
fonte
2

Então, para mim, o problema era que eu criei minha conta GitLab vinculando minha conta GitHub a ela. Isso significava que nenhuma senha existia formalmente para a conta, pois foi criada via hotlink entre o GitHub e o GitLab. Corrigi-o acessando Configurações do GitLab -> Senha -> e escrevendo a mesma senha da minha conta do GitHub.

Momchill
fonte
2

Nenhuma das soluções acima funcionou para mim e não tenho direitos de administrador no meu laptop , mas elas me levaram ao documento de armazenamento de credenciais do git tools :

Minha instalação do Windows 10 | git versão 2.18.0.windows.1 | Clonar através do link HTTPS

Esta solução funciona se você usar o wincred como auxiliar de credencial:

> git config --global credential.helper
wincred

Alterar o auxiliar para "cache" deve funcionar, pois solicitará que você forneça suas credenciais novamente. Para configurá-lo para cache, basta digitar:

> git config --global credential.helper cache

Verifique se a sua atualização está ativa:

> git config --global credential.helper
cache

Agora você deve conseguir clonar / puxar / buscar como antes.

lkostka
fonte
1

Eu tentei com o URL do navegador para o repositório então

git clone $ (browserURL)

solicitou meu nome de usuário e, em seguida, minha senha

Funcionou bem então

Saurabh Verma
fonte
1

Quando o Windows Credential Manager solicita que suas credenciais acessem o GitLab, esses são o nome de usuário e a senha que você usa ao acessar o GitLab. EG: use seu email e senha.

aercolino
fonte
1

Quando eu tive o mesmo problema,

Eu o resolvi removendo o arquivo "passwd" em

C:\Users\<USERNAME>\AppData\Local\Atlassian\SourceTree

Depois de remover, o Sourcetree solicitará a senha.

Note:
OS Version : win10 
Sourcetree Version:  3.1
Jean-Philippe Vankemmel
fonte
1

Eu acredito que estou um pouco atrasado aqui. Mas acho que isso ajudaria as novas espreitadelas!

Meus erros foram: remote : HTTP Basic: acesso negado

remote : você deve usar um token de acesso pessoal com o escopo 'read_repository' ou 'write_repository' para o Git sobre HTTP.

remote : você pode gerar um em https://gitlab.com/profile/personal_access_tokens

fatal : falha na autenticação para ' https://gitlab.com/PROFILE_NAME/REPO_NAME.git/ '

Estou no Ubuntu, mas isso funcionou para mim:

  1. Vá para https://gitlab.com/profile/personal_access_tokens
  2. Crie um novo token e marque a seleção para todos.
  3. Copie seu token
  4. Agora vá ao seu terminal e cole-o assim.

git clone https: // oauth2: [email protected]/PROFILE_NAME/REPO_NAME.git/

Gaurav
fonte
0

Para usuário de Mac:

  1. Vá para o chaveiro e exclua contas do gitlab
  2. Vá para o caminho do seu projeto no terminal e simplesmente digite git pull
  3. Em seguida, você será solicitado a fornecer o nome de usuário e a senha do gitlab
  4. Digite seu nome de usuário que você encontrará na conta do gitlab na seção de perfil.
  5. Depois disso, insira sua senha atualizada aqui.
  6. Aqui vamos nós, novamente tente empurrar seu código, isso pode ajudar vocês.
vikash kumar
fonte