Search buenodc

Nesta página
  1. 1. Gerar a chave
  2. 2. Adicionar a chave ao ssh-agent
  3. 3. Cadastrar a chave pública no GitHub
  4. 4. Testar a conexão
  5. 5. Clonar usando SSH
  6. Referência

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:

  1. Clique na sua foto de perfil, no canto superior direito, e depois em Settings.
  2. No menu lateral, clique em SSH and GPG keys.
  3. Clique em New SSH key.
  4. Em Title, coloque um nome que identifique o computador (por exemplo, notebook-casa).
  5. 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.

Referência