Como autenticar sua máquina com seu usuário git
Pode parecer um pouco confuso, mas seguindo esse passo a passo verá que não tem erro! Vamos usar tanto o site github.com quanto nosso terminal.
Gerar chave SSH
Basta abrirmos nosso repositório e rodarmos o seguinte comando:
ssh-keygen -t rsa -b 4096 -C "seuemail@exemplo.com"
Lembre-se de trocar o email pelo seu email cadastrado no GitHub.
Na sequência é necessário nomear a chave (pode apertar Enter, pois o nome padrão é o sugerido - id_rsa).
Em seguida o terminal pedirá que defina uma senha e então a confirme. Pode deixar a senha vazia (aperte Enter e Enter novamente para confirmar a senha vazia).
Atenção: se for configurar uma senha, nada do que digitar aparecerá no terminal, então preste bastante atenção na senha que inserir.
Confirmando a criação da chave
Vamos rodar a seguinte função abaixo para confirmarmos que a chave foi gerada. O comando deve retornar um PIN
eval $(ssh-agent -s)
se retornar um código com alguns números, é por que deu certo!
Atrelando a chave ao agente SSH
Para finalizarmos essa etapa, precisamos atrelar a chave SSH ao agente SSH. Basta digitar no terminal:
ssh-add ~/.ssh/id_rsa
receberemos uma mensagem de sucesso, com nossa fingerprint e um desenho que representa a chave gerada
Copiando a chave
Esse comando que iremos rodar agora dá a impressão que não acontece nada. Mas na realidade ele vai copiar nossa chave para a área de transferência. Quando pressionar Control + V (paste/colar), irá colar a chave gerada (veja o comando de acordo com seu OS (sistema operacional)
Windows
clip < ~/.ssh/id_rsa.pub
Mac
pbcopy < ~/.ssh/id_rsa.pub
Linux
xclip -sel clip < ~/.ssh/id_rsa.pub
Observação: caso tenha alterado o nome da chave, precisa se certificar que a chave copiada é a mesma declarada no comando.
Colando a chave no github.com
Estamos quase lá! Agora precisamos colar a chave que copiamos com o comando anterio no nosso perfil do GitHub. Basta:
- Logar no github.com com nosso usuário
- Acessar a página Configuração > Chaves SSH e GPG
- Clicar em ' Nova Chave SSH' (ou algo parecido)
- Definir um título para essa chave (importante: defina um nome que identifique a máquina a ser autenticada)
- Colar a chave (copiada com o comando anterior no terminal)
- Confirmar a criação da nova chave
Atenção: recomendamos que crie uma chave por máquina. Apesar de podermos usar uma mesma chave em diferentes máquinas, na hora de remover a autenticação (por exemplo do note antigo do trabalho), é mais fácil trabalharmos com uma por máquina, assim simplesmente excluímos a chave criada para aquele dispositivo específico.
Definindo nosso user na máquina
Agora que temos nossa máquina configurada, podemos configurar nosso usuário git nela! Há duas formas de fazermos isso: a forma global (onde nosso usuário será considerado em todo e qualquer repositório dentro de nossa máquina) ou de forma local (dentro de um repositório específico - nesse caso precisamos rodar o comando dentro da pasta do repositório).
Forma Global (toda a máquina)
git config --global user.name "Nome Completo"
estamos definindo o nome de usuário globalmente
git config --global user.email "seuemail@exemplo.com"
estamos definindo o email de usuário globalmente
Forma Local (apenas no repositório)
cd caminho/do/repositorio-na-nossa-maquina
acessando o repo onde queremos configurar o user
git config user.name "Nome Completo"
estamos definindo o nome de usuário local
git config user.email "seuemail@exemplo.com"
estamos definindo o email de usuário local
Observação: os dados precisam ser os mesmos cadastrados no seu perfil do GitHub.