Artigo original: https://www.freecodecamp.org/news/git-ssh-how-to/

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):

image-15

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.

Mais informações sobre o SSH (textos em inglês):