fbpx

GitHub – Autenticação Git via chave SSH

GitHub – Autenticação Git via chave SSH

Saudações, devs! ✌😎

No post anterior, mostrei como configurar a autenticação Git no GitHub usando personal access token (PAT). Agora, vou mostrar como autenticar via chave SSH.

Lembre-se que a partir do dia 13 de agosto de 2021, o GitHub não aceita mais a autenticação HTTPS via nome de usuário e senha nas operações remotas do Git. Assim, é necessário mudar! 🤷‍♀️

Só pra lembrar, SSH (Secure Shell) é um protocolo criptográfico que permite a conexão em servidores de maneira segura sem expor nome de usuário e senha. Para isso, é necessário estabelecer uma conexão informando uma chave SSH válida.

Let’s do it! 🚀

Passo 1 – Gerar a chave SSH

Acesse o Git Bash (ou outro terminal) e digite o seguinte comando, considerando o e-mail cadastrado no GitHub:

ssh-keygen -t ed25519 -C e-mail-da-conta-github@exemplo.com

Após a execução desse comando, será pedido um nome para o arquivo em que a chave será salva. Digite o nome e pressione <Enter>

Depois disso, será pedido uma “passphrase” (senha). Se preferir pode deixar em banco. Pressione <Enter>.

Após confirmar, será exibida uma Random Art confirmando a geração da chave. 😯

Note que foi criado um arquivo com o nome indicado e um outro arquivo .pub na pasta em que você executou o comando. Ao abrir, o arquivo .pub é possível ver a chave ssh.

Gerando a chave SSH

Passo 2 – Adicionar a chave ao ssh-agent

É necessário iniciar o o SSH Agent. Para isso, digite o seguinte comando:

eval "$(ssh-agent –s)"

Para adicionar a chave gerada, digite:

ssh-add my-ssh-key 

Note que “my-ssh-key” é o nome do arquivo que foi gerado durante o comando ssh-keygen.

Quando o comando for executado, será pedido a “passphrase” gerado no passo 1.

Após a execução, a chave foi adicionada localmente. Agora é necessário adicioná-la no GitHub.

Passo 3 – Adicionar a chave SSH no GitHub

  • Abra o arquivo de chave (extensão .pub) criado e copie-a (CTRL+C);
  • Agora abra o GitHub no browser;
  • Vá até configurações (settings);
  • Clique no menu esquerdo SSH and GPG Keys;
  • Em SSH Keys, clique em New SSH key;
  • Dê um título a sua chave e cole o conteúdo do arquivo .pub;
  • Agora é necessário fazer a conexão com o GitHub. Na no Git Bash, digite o seguinte comando:
ssh –T git@github.com

Esse comando deve exibir uma mensagem de sucesso, confirmando a conexão.

PRONTO! Agora seu Git local está devidamente conectado ao Git Hub via SSH. Agora é possível realizar operações no repositório remoto sem expor usuário e senha. 😉


ATENÇÃO! Depois que fechar o terminal e/ou reiniciar o computador, é necessário fazer a conexão via SSH novamente, ou seja, os passos 2 e 3.

Conclusão

É claro que a autenticação com usuário e senha era muito mais simples. Entretanto, o fato de informar dados pessoais diretamente não é uma boa prática quando consideramos o quesito segurança. Assim, o GitHub achou por bem implementar formas mais seguras de autenticação.

Para saber como configurar a autenticação Git via personal access token (PAT) clique aqui.

Para mais informações sobre a autenticação Git via SSH, consulte a documentação oficial do Git Hub.

Até a próxima! ✌😎

Jorge Luís Gregório

Jorge Luís Gregório

Professor e entusiasta de tecnologia, estudioso da cultura NERD e fã de quadrinhos, animes e games. Mais um pai de menino, casado com a mulher mais linda da galáxia e cristão convicto. Gosto de ler ficção científica e discutir tecnologia, filmes, seriados, teologia, filosofia e política. Quer falar sobre esses e diversos outros assuntos? Venha comigo!