Git push requer nome de usuário e senha

Eu clonei um repositório Git da minha conta GitHub para o meu PC.

Quero trabalhar tanto com meu PC quanto com o laptop, mas com uma conta GitHub.

Quando eu tento empurrar ou puxar do GitHub usando meu PC, ele requer nome de usuário e senha, mas não ao usar o laptop!

Eu não'não quero digitar meu nome de usuário e senha toda vez que eu interajo com a origem. O que eu estou perdendo aqui?

Solução

Um erro comum é a clonagem usando o padrão (HTTPS) em vez do SSH. Você pode corrigir isso indo ao seu repositório, clicando em "Clonar ou baixar", depois clicando no botão "Usar SSH" acima do campo URL e atualizando a URL do seu controle remoto de origem desta forma:

git remote set-url origin git@github.com:username/repo.git

Isto está documentado no GitHub: Trocando URLs remotas de HTTPS para SSH.

Comentários (27)

Acabei de me deparar com o mesmo problema, e a solução mais simples que encontrei foi usar a URL SSH em vez da URL HTTPS:

ssh://git@github.com/username/repo.git

E não isto:

https://github.com/username/repo.git

Agora você pode validar com just a chave SSH ao invés do nome de usuário e senha.

Comentários (4)

Você basicamente tem duas opções.

Se você usa o mesmo usuário em ambas as máquinas você precisa copiar a chave .pub para o seu PC, então GitHub sabe que você é o mesmo usuário.

Se você criou um novo arquivo .pub para seu PC e quer tratar as máquinas como diferentes usuários, você precisa registrar o novo arquivo .pub no site do GitHub.

Se isto ainda não funcionar pode ser porque o ssh não está configurado correctamente e que o ssh não consegue encontrar a localização das suas chaves. Tente

ssh -vv username@github.com

Para obter mais informações sobre o porquê do SSH falhar.

Comentários (1)