Eu tenho um projeto hospedado no GitHub. Falha ao tentar enviar minhas modificações no mestre. Eu sempre recebo a seguinte mensagem de erro
Password for 'https://[email protected]':
remote: Invalid username or password.
fatal: Authentication failed for 'https://[email protected]/eurydyce/MDANSE.git/'
No entanto, definir minha chave ssh no github parece ok. De fato, quando eu faço uma, ssh -T [email protected]
eu recebo
Hi eurydyce! You've successfully authenticated, but GitHub does not provide shell access.
O que parece indicar que está tudo bem desse lado (eurydyce é o meu nome de usuário no github). Eu segui rigorosamente as instruções fornecidas no github e as recomendações de muitas discussões de pilha, mas de jeito nenhum. Você tem alguma idéia do que eu posso ter feito de errado?
Respostas:
https: //[email protected]/eurydyce/MDANSE.git não é um URL ssh, é um https (que exigiria o nome da sua conta do GitHub, em vez de '
git
').Tente usar
ssh://[email protected]:eurydyce/MDANSE.git
ou apenas[email protected]:eurydyce/MDANSE.git
O OP Pellegrini Eric acrescenta:
Isso não deve estar na sua configuração global (a que está dentro
~/
).Você pode verificar
git config -l
em sua repo: que url deve ser declarado no local, config:<yourrepo>/.git/config
.Portanto, verifique se você está no caminho do repositório ao executar o
git remote set-url
comando.Como observado em Oliver 's resposta , um HTTPS URL não usaria nome de usuário / senha, se autenticação de dois fatores (2FA) é ativado.
Nesse caso, a senha deve ser um PAT (token de acesso pessoal), como visto em " Usando um token na linha de comando ".
Isso se aplica apenas a URLs HTTPS, o SSH não é afetado por essa limitação.
fonte
~/.ssh/config
ou%USERPROFILE%\.ssh\config
com umagithub.com
entrada.Depois de ativar autenticação de dois fatores (2FA), você pode ver algo como isso, ao tentar utilizar
git clone
,git fetch
,git pull
ougit push
:Porque isso está acontecendo
Na documentação da Ajuda do GitHub :
Como corrigi-lo
Pergunta relacionada: https://stackoverflow.com/a/21374369/101662
fonte
Etapas da solução:
fonte
Apenas para usuários de Mac. Você precisa excluir as entradas de acesso ao Keychain do OSX para o GitHub. Você pode fazer isso via terminal executando os seguintes comandos.
Excluindo suas credenciais por meio da linha de comando
Por meio da linha de comando, você pode usar o auxiliar de credenciais diretamente para apagar a entrada de chaveiro.
Para fazer isso, digite o seguinte comando:
Se for bem sucedido, nada será impresso. Para testar se funciona, tente clonar um repositório do GitHub ou execute sua ação anterior novamente, como no meu caso
git push
. Se você for solicitado uma senha, a entrada de chaveiro foi excluída.fonte
host=bitbucket.org
vez do GitHub corrigiu para mim.Ao usar o
https://
URL para se conectar ao seu repositório remoto, o Git não usará o SSH como autenticação, mas tentará uma autenticação básica por HTTPS. Normalmente, você usaria o URL sem um nome de usuário, por exemplohttps://github.com/username/repository.git
, e o Git solicitaria que você digite um nome de usuário (seu nome de usuário do GitHub) e sua senha.Se você usar
https://[email protected]/username/repository.git
, então você tem predefinir o nome de usuário Git irá utilizar para autenticação:something
. Desde que você usouhttps://[email protected]
, o Git tentará fazer login usando ogit
nome de usuário para o qual sua senha, obviamente, não funciona. Então você terá que usar o seu nome de usuário.A alternativa é realmente usar o SSH para autenticação. Dessa forma, você evitará digitar sua senha o tempo todo; e como ele já parece funcionar, é isso que você deve usar.
Para fazer isso, você precisa alterar sua URL remota, para que o Git saiba que precisa se conectar via SSH. O formato é então este:
[email protected]:username/repository
. Para atualizar seu URL, use este comando:fonte
warning: remote.origin.url has multiple values
. Isso pode ser devido ao fato de eu já ter uma tag remota no meu arquivo ~ / .gitconfig que contém o valor[remote "origin"] [email protected]:eurydyce/MDANSE.git
.tente empurrá-lo para o seu ramo novamente. Isso pedirá seu nome de usuário e senha novamente, para que você possa alimentar a senha alterada. Para que sua nova senha seja armazenada novamente no cache.
fonte
git push
solicitou a atualização apropriada, como indica esta resposta.git push origin master
...Em vez de
git pull
também tentargit pull origin master
Mudei a senha e o primeiro comando deu erro:
Depois
git pull origin master
, solicitou a senha e pareceu se atualizarfonte
Não há necessidade de confiar em Gerar um token de acesso pessoal e tentar usar o token de acesso pessoal no lugar da sua senha.
Solução rápida é definir seu URL remoto para apontar para
ssh
nãohttps
.Faça isso
git remote set-url origin [email protected]:username/repository
fonte
Estou recebendo isso ao clonar o aplicativo do bitbucket:
Eu resolvi isso. Aqui você precisa criar uma senha para o seu ID do usuário
Clique em Seu perfil e configurações
Em seguida, crie a senha do aplicativo, escolha o seu nome, a senha será gerada, cole essa senha no terminal
fonte
Desabilitar a autenticação de dois fatores no github funcionou para mim.
Vejo que há uma resposta excluída que diz isso, com o motivo da exclusão como "não responde à pergunta". Se funcionar, acho que responde à pergunta ...
fonte
Eu fiz:
Depois, pediu o [Nome de usuário] e a [Senha] e parece estar funcionando bem agora.
fonte
Caso você receba esta mensagem de erro nesta situação:
Então olhe para esta resposta: https://stackoverflow.com/a/39608906/521257
O Windows armazena credenciais em um gerenciador de credenciais, limpe-o ou atualize-o.
fonte
Você pode estar recebendo este erro porque atualizou sua senha. Portanto, no Terminal, primeiro limpe suas credenciais do GitHub do chaveiro e depois faça as alterações no seu repositório, o terminal solicitará seu nome de usuário e senha.
fonte
Eu tive o mesmo problema. E resolvi alterando o caminho da ramificação remota de
https://github.com/YourName/RepoName
para[email protected]:YourName/RepoName.git
nas configurações do repositório do aplicativo cliente.fonte
Estou constantemente enfrentando esse problema. Certifique-se de definir git --config user.name "" e não seu nome real, o que eu fiz algumas vezes ..
fonte
Como você provavelmente deseja manter o 2FA ativado para sua conta, você pode configurar uma chave ssh e, dessa forma, não precisará digitar suas credenciais do Github toda vez que quiser enviar trabalho para o Github.
Você pode encontrar todas as etapas de configuração do ssh na documentação . Primeiro, verifique se você não possui nenhuma chave ssh (id_rsa.pub etc.) com
$ ls -al ~/.ssh
fonte
Isso funcionou para mim, eu fui capaz de puxar e empurrar para o meu repo remoto.
fonte
Acabei de desativar a autenticação de dois fatores e tente novamente. Funciona para mim.
fonte
Esta solução funcionou para mim:
fonte