Artigo original: How to Get and Configure Your Git and GitHub SSH Keys
Se você usa GitHub sem configurar uma chave SSH, não sabe o que está perdendo. Basta pensar que todo esse tempo que você passou inserindo o seu endereço de e-mail e senha no console toda vez que faz um commit poderia ter sido gasto programando.
Bem, não mais. Aqui está um guia rápido para gerar e configurar uma chave SSH no GitHub para que você nunca mais tenha que autenticar da maneira antiga.
Verificar a existência de uma chave SSH
Primeiro, verifique se você já gerou chaves SSH para a sua máquina. Abra um terminal e digite o seguinte comando:
ls -al ~/.ssh
Se você já gerou chaves SSH, você deve ver um resultado semelhante a este:
-rw------- 1 user_name user_name 1766 Jul 7 2018 id_rsa
-rw-r--r-- 1 user_name user_name 414 Jul 7 2018 id_rsa.pub
-rw------- 1 user_name user_name 12892 Feb 5 18:39 known_hosts
Se suas chaves já existem, pule adiante para a seção Copiar a sua chave SSH pública abaixo.
Se você não vê nenhum resultado ou se aquele diretório não existe (você recebe uma mensagem No such file or directory
), execute:
mkdir $HOME/.ssh
Em seguida, gere um novo conjunto de chaves com:
ssh-keygen -t rsa -b 4096 -C your@email.com
Agora, verifique se as suas chaves existem com o comando ls -al ~/.ssh
e certifique-se de que o resultado seja similar ao listado acima.
Observação: as chaves SSH são sempre geradas como um par de chaves, uma pública (id_rsa.pub) e uma privada (id_rsa). É extremamente importante que você nunca revele sua chave privada e somente use sua chave pública para coisas como a autenticação no GitHub. Você pode ler mais sobre como os pares de chaves SSH/RSA funcionam aqui (texto em inglês).
Adicionar a chave SSH ao ssh-agent
O ssh-agent
é um programa que começa quando você faz o login e armazena as suas chaves privadas. Para que funcione corretamente, ele precisa estar funcionando e ter uma cópia da sua chave privada.
Primeiro, certifique-se de que o ssh-agent
está funcionando com:
eval "$(ssh-agent -s)" # for Mac and Linux
ou:
eval `ssh-agent -s`
ssh-agent -s # for Windows
Em seguida, adicione a sua chave privada ao ssh-agent
com:
ssh-add ~/.ssh/id_rsa
Copiar a sua chave SSH pública
A seguir, você precisa copiar a sua chave SSH pública para a área de transferência.
Para Linux ou Mac, imprima o conteúdo da sua chave pública para o console com:
cat ~/.ssh/id_rsa.pub # Linux
Em seguida, selecione e copie o resultado.
Para o Windows, basta executar:
clip < ~/.ssh/id_rsa.pub # Windows
Adicionar a sua chave SSH pública ao GitHub
Vá para a sua página de configurações do GitHub e clique no botão "New SSH key":
Em seguida, dê à sua chave um título reconhecível e cole sua chave pública (id_rsa.pub):

Finalmente, teste a sua autenticação com:
ssh -T git@github.com
Se você seguiu todas estas etapas corretamente, você deve ver esta mensagem:
Hi your_user_name! You've successfully authenticated, but GitHub does not provide shell access.