Como Resolver o Erro "git@github.com: Permission denied (publickey)" ao Clonar um Repositório GitHub


Se você está tentando clonar um repositório do GitHub e se deparou com o seguinte erro:
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Não se preocupe! Esse erro ocorre porque o GitHub não conseguiu autenticar sua chave SSH. Neste guia, vamos mostrar um passo a passo para solucionar esse problema e garantir que você consiga acessar seus repositórios sem dificuldades.
O Que Causa Esse Erro?
O erro "Permission denied (publickey)" normalmente acontece por um dos seguintes motivos:
Você não tem uma chave SSH configurada no seu computador.
Sua chave SSH não está adicionada ao GitHub.
O agente SSH não está em execução ou sua chave não está carregada.
Você está tentando clonar usando SSH, mas sua conta só permite acessos via HTTPS.
Agora, vamos resolver o problema!
Passo 1: Verificar Se Você Tem Uma Chave SSH Configurada
Primeiro, verifique se já existe uma chave SSH no seu sistema. Abra o terminal e digite:
ls -al ~/.ssh
Se o comando listar arquivos como id_rsa
e id_rsa.pub
ou id_ed25519
e id_ed25519.pub
, significa que você já tem uma chave SSH configurada.
Se não houver chaves, você precisa gerar uma nova.
Passo 2: Criar Uma Nova Chave SSH (Se Necessário)
Se você precisa criar uma nova chave SSH, utilize este comando:
ssh-keygen -t ed25519 -C "seu-email@example.com"
Caso seu sistema não suporte Ed25519, use RSA:
ssh-keygen -t rsa -b 4096 -C "seu-email@example.com"
Depois de rodar esse comando, pressione Enter
para confirmar o local padrão da chave e, se quiser, defina uma senha.
Passo 3: Adicionar a Chave SSH ao GitHub
Agora, você precisa adicionar sua chave SSH ao GitHub:
Pegue a chave pública com este comando:
cat ~/.ssh/id_ed25519.pub # Ou ~/.ssh/id_rsa.pub se for RSA
Copie o conteúdo exibido.
Clique em New SSH Key.
Cole a chave pública e salve.
Passo 4: Testar a Conexão SSH com o GitHub
Para verificar se a autenticação SSH está funcionando, rode:
ssh -T git@github.com
Se tudo estiver correto, você verá uma mensagem como esta:
Hi <username>! You've successfully authenticated, but GitHub does not provide shell access.
Passo 5: Certificar-se de que o Agente SSH Está Rodando
Se o erro persistir, pode ser que sua chave SSH não esteja carregada. Para resolver isso, execute:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519 # Ou ~/.ssh/id_rsa
Passo 6: Alternativa - Usar HTTPS ao Invés de SSH
Se você não quiser usar SSH, pode clonar o repositório via HTTPS:
git clone https://github.com/usuario/repositorio.git
Isso não exige chaves SSH, mas você precisará inserir suas credenciais toda vez que fizer push ou pull.
Conclusão
Seguindo esses passos, você deve conseguir corrigir o erro "Permission denied (publickey)" e acessar seus repositórios no GitHub sem problemas. Se o erro persistir, verifique se a chave correta está sendo usada e se sua conta GitHub está configurada corretamente.
Agora é só codar e versionar seus projetos sem dores de cabeça! 🚀
Subscribe to my newsletter
Read articles from Bruno Development directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
