Socorro! Meu usuário e senha do Github retornam como inválidos na hora do push.

Como resolver um problema de erro de autenticação e conectar seu Github com SSH/Autenticador

Greyce Riquinho
reprogramabr
5 min readApr 18, 2019

--

(Se você quer saber o que é esse tal de Git e Github e como começar a utilizá-lo, recomendo a leitura desse texto!)

O Problema

Desde que comecei a enviar minhas primeiras linhas de código para o Github, usar o Github Desktop me pareceu uma ótima opção por causa da interface prática que ele oferece.

Acontece que para ser prático, o GitHub Desktop “oculta” de você uma série de comandos do Git que são de suma importância para que compreendamos todas as etapas do que estamos fazendo.

Então, eu fui postergando e postergando o uso da linha de comando, até que o grande dia chegou: aula de Git e Github no curso de Front-End da {reprograma}.

E agora não tinha mais escapatória: a migração definitiva para o terminal iria acontecer!

Tudo ia muito bem, do momento em que aprendemos a configurar o Git, fazer as alterações no código, visualizar as mudanças e criar o commit. Até que chegou a hora de fazer o meu primeiro push e o usuário e senha foi solicitado.

Todo o restante da turma conseguiu fazer o push sem nenhuma dificuldade, mas eu e uma colega recebemos como retorno do terminal uma mensagem de que o usuário ou a senha estavam inválidos.

remote: Invalid username or password.

fatal: Authentication failed for 'https://github.com/Greycee/reprograma/'

Impossível, eu pensava! Eu estava digitando tudo corretamente! Só por via das dúvidas, repeti o processo de tentar fazer o push mais umas 10 vezes…e nada! Troquei a senha…e nada!

A instrutora, colegas e as monitoras vieram nos ajudar, mas nada do terminal validar a senha. Não sabia mais o que fazer!

Foi então que lembrei que, quando comecei a colaborar em projetos da minha empresa no GitHub, foi solicitado que eu passasse a utilizar o Authenticator.

O Authenticator é basicamente um gerador de token para autenticação em duas etapas. Toda vez que você fizer login no Github, ele vai solicitar que além do usuário e senha, seja digitado também esse token que é gerado pelo Authenticator.

Perguntei para a minha colega se ela também usava isso e ela respondeu que sim! Então, rapidamente busquei alguma coisa relacionada ao nosso problema no Stackoverflow e bingo!

Uma das soluções estava diretamente associada a autenticação em duas etapas.

O que na hora se apresentou como uma solução rápida e perfeita para o nosso problema foi gerar um token de acesso pessoal através do Github. Assim, quando fui dar o push, ao invés de digitar a senha de login, eu colei o token gerado pela minha página do GitHub.

Ao invés de um erro, um alívio: MISTÉRIO RESOLVIDO! Fácil, fácil!

Acredito que eu e minha colega não fomos as únicas a enfrentarmos esse problema pois esse foi um tópico que gerou bastante movimentação no Stackoverflow.

Posteriormente, conversando com outras desenvolvedoras, descobri que existe uma prática mais comum de mercado para quem precisa utilizar o autenticador, que é adicionar uma chave SSH no Github.

Como criar a chave SSH no Github?

O próprio Github possui um tutorial ensinando esse processo, desde como checar se você já tem alguma chave SSH instalada na máquina até como configurá-la para não precisar ter que inserir a senha todas as vezes que conectar com servidores e serviços remotos.

Basicamente a configuração se faz pelo terminal (ou GitBash), através do comando abaixo, informando no final o e-mail que utilizou para configurar seu git no terminal:

$ ssh-keygen -t rsa -b 4096 -C “seu_email@reprograma.com

Confirme com enter para salvar a chave e quando solicitado, informe uma senha.

Perceba que foi gerado uma chave de letras, números e caracteres aleatórios. Anote essa chave SSH gerada para seguir para o próximo passo, que é adicioná-la ao agente SSH.

Ainda no terminal, digite:

$ eval “$(ssh-agent -s)”

Isso retorna Agent pid e um número. Prossiga:

$ ssh-add ~/.ssh/id_rsa

Repita sua senha quando solicitado e agora insira as informações diretamente no Github.

Em configurações de perfil, siga esses passos:

1) Entre em SSH

2) Selecione o botão verde da direita, que diz New SSH key

3) Digite um título que lembre você por onde estará fazendo o acesso com aquela chave.

4) O comando no terminal para colar a chave varia dependendo do sistema operacional que você estiver utilizando. Simplesmente digite o comando abaixo e clique com o botão direito para colar o conteúdo copiado no espaço com o título “key”.

O resultado vai ser um texto gigante! Não altere nada, nem apague nenhum espaço.

Adicione o código clicando no botão verde e pronto!

Somente após o primeiro push que você fizer depois de ter configurado sua chave SSH, surgirá essa mensagem pedindo para que você confirme a conexão da chave gerada com seu computador:

E todos os próximos pushes serão feitos direto, sem ficar pedindo um monte de informações adicionais.

E é isso! Parece complexo mas seguindo esses passos você ganha a liberdade de colaborar com projetos no Github aonde quer que você esteja, sem depender de um computador específico para trabalhar nas suas branches e enviar seus pull requests pro Github porque você pode configurar uma chave SSH no seu computador do trabalho, no computador de casa, etc, etc, etc.

Mas vale lembrar, né: nunca configure uma chave SSH em um computador público e caso um dia for se desfazer de alguma máquina que tenha registrado uma chave SSH, não esqueça de deletar a chave do seu Github por questão de segurança!

Gostou? Se ficou com alguma dúvida, deixe nos comentários abaixo.

Até a próxima pessoal!

--

--