Chave SSH no github - Windows e Linux

Escrito em 18 August 2023 por Ryan Souza -- Publicado também em: Dev.to

Resumo: Guia passo a passo sobre como gerar e adicionar uma chave SSH ao GitHub para autenticação segura em repositórios. O artigo aborda a criação de chaves SSH usando o algoritmo ED25519, oferecendo instruções detalhadas para usuários Linux e Windows. Aprenda a configurar a chave SSH no GitHub para facilitar operações como push e pull sem a necessidade de autenticação repetida.

Uma estatueta de um oktokat (Mascote do github) ao centro, ao fundo um laptop com a página principal do GitHub aberta.

Conteúdo

O que é uma chave SSH?

Uma chave SSH é um par de chaves que são usadas para autenticar um usuário em um servidor. A chave pública é usada para criptografar os dados e a chave privada é usada para descriptografar os dados. A chave pública é compartilhada com o servidor e a chave privada é mantida em segredo pelo usuário.

existem diversos tipos de algoritmos de criptografia para gerar chaves SSH, mas neste tutorial eu vou ensinar como gerar uma chave SSH usando o algoritmo ED25519. O algoritmo ED25519 é um algoritmo de assinatura digital de curva elíptica que é considerado seguro e rápido.

para saber mais sobre o tema, eu indico esse artigo da Teleport: Artigo (em inglês)

Gerando uma chave SSH

A partir de agora irei separar esse tutorial em duas partes, uma para Linux e outra para Windows.

Antes de começar, você precisa ter o git instalado em sua máquina. Se você não tem, indico a documentação oficial do git para instalar o git em sua máquina: Documentação

Linux

Para gerar uma chave SSH no Linux, você precisa abrir o terminal e digitar o seguinte comando:

ssh-keygen -t ed25519 -C <seu-email>

ssh-keygen on linux

Após digitar o comando, você vai ser solicitado a preencher alguns dados, como o nome da chave e a senha da chave. Você pode digitar o nome que quiser desde que não se esqueça dele, no meu caso, eu apenas apertei enter para que o git gerasse o nome da chave automaticamente e que a chave não tenha senha.

Com a chave gerada você deve copiar a chave pública para a área de transferência. Para isso, navegue ate a pasta onde a chave foi gerada (por padrão ela fica na pasta ~/.ssh, como mostrado na imagem anterior) e digite o seguinte comando:

cat id_ed25519.pub

e copie a chave que aparecer na tela.

getting the key in linux

Agora você precisa ir até a página de configurações do github e adicionar a chave que você acabou de copiar.

aqui um atalho para você ir direto para a página de configurações de chaves SSH do github: Página de configurações de chaves SSH

aqui você deve ir em New SSH key e cole a chave que você copiou anteriormente.

paste key on github - linux

Clicando em Add SSH key, você vai adicionar a chave SSH ao github.

Pronto, agora é só testar se a chave foi adicionada corretamente e fazer dar clone de qualquer repositório que você tenha acesso sempre utilizando o endereço SSH. Para testar se a cahve foi adicionada corretamente, você pode digitar o seguinte comando:

ssh git@github.com

se tudo der certo, você vai ver uma mensagem de sucesso e você já pode fazer o clone de qualquer repositório que você tenha acesso, no meu caso eu fiz o clone do meu próprio repositório.

Testing ssh key - linux

Windows

Mesmo processo do linux com a exceção de que aqui eu usei o powershell para criar a chave SSH e o git bash para testar a chave SSH.

Primeiro você precisa abrir o powershell e digitar o seguinte comando:

ssh-keygen -t ed25519 -C <seu-email>

substitua <seu-email> pelo seu email do github.

ssh-keygen on windows

Após digitar o comando, você vai ser solicitado a preencher alguns dados, como o nome da chave e a senha da chave. Você pode digitar o nome que quiser desde que não se esqueça dele, no meu caso, eu apenas apertei enter para que o git gerasse o nome da chave automaticamente e que a chave não tenha senha.

Com a chave gerada você deve copiar a chave pública para a área de transferência. Para isso, navegue ate a pasta onde a chave foi gerada (por padrão ela fica na pasta C:\Users\ryans\.ssh, como mostrado na imagem anterior) e digite o seguinte comando:

type id_ed25519.pub

e copie a chave que aparecer na tela.

getting ssh key in windows

Enfim, agora você precisa ir até a página de configurações do github e adicionar a chave que você acabou de copiar. aqui um atalho para você ir direto para a página de configurações de chaves SSH do github: Página de configurações de chaves SSH

aqui você deve ir em New SSH key e cole a chave que você copiou anteriormente.

paste key on github - windows

Clicando em Add SSH key, você vai adicionar a chave SSH ao github.

Agora basta verificar o funcionamento da chave SSH. Para isso, você precisa abrir o git bash e digitar o seguinte comando:

ssh git@github.com

se tudo der certo, você vai ver uma mensagem de sucesso e você já pode fazer o clone de qualquer repositório que você tenha acesso, no meu caso eu fiz o clone do meu próprio repositório.

Testing ssh key - linux

Conclusão

Espero que esse tutorial tenha ajudado você a configurar a sua chave SSH no github. Se tiver alguma dúvida ou sugestão, deixe um comentário abaixo ou entre em contato comigo pelo LinkedIn ou pela aba de contato do meu site.

Voltar ao topo ⬆️

Encontrou algum erro? sinta-se a vontade para abrir um pull request no arquivo fonte deste post no Github.