Configurando uma chave SSH no GitHub
Para clonar um repositório privado ou enviar commits sem digitar usuário e senha toda vez, o jeito mais prático é usar uma chave SSH. A ideia é simples: você gera um par de chaves no seu computador, guarda a chave privada com você e cadastra a chave pública na sua conta do GitHub.
No Windows, rode os comandos abaixo no Git Bash, que é instalado junto com o Git. No Linux e no macOS, use o terminal normal.
1. Gerar a chave
Use o mesmo e-mail da sua conta do GitHub:
ssh-keygen -t ed25519 -C "[email protected]"
Quando aparecer Enter file in which to save the key, pressione Enter para aceitar o local padrão (~/.ssh/id_ed25519). Em seguida você pode definir uma senha para a chave ou apenas pressionar Enter para deixá-la sem senha.
2. Adicionar a chave ao ssh-agent
O ssh-agent guarda a chave na memória para você não precisar informá-la a cada comando:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
3. Cadastrar a chave pública no GitHub
Mostre a chave pública (o arquivo que termina em .pub) e copie toda a saída:
cat ~/.ssh/id_ed25519.pub
No GitHub:
- Clique na sua foto de perfil, no canto superior direito, e depois em Settings.
- No menu lateral, clique em SSH and GPG keys.
- Clique em New SSH key.
- Em Title, coloque um nome que identifique o computador (por exemplo,
notebook-casa). - Cole a chave no campo Key e clique em Add SSH key.
Nunca compartilhe o arquivo sem
.pub(id_ed25519). Ele é a sua chave privada.
4. Testar a conexão
ssh -T [email protected]
Na primeira vez, digite yes para confirmar. Se tudo deu certo, aparece uma mensagem como:
Hi seu-usuario! You've successfully authenticated, but GitHub does not provide shell access.
5. Clonar usando SSH
No repositório, clique em Code, escolha a aba SSH e copie o endereço. Ele começa com [email protected]::
git clone [email protected]:usuario/repositorio.git
Pronto: a partir de agora git clone, git pull e git push funcionam sem pedir senha.