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

```bash
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.

[![](https://cdn.hashnode.com/res/hashnode/image/upload/v1768400246106/27bda5f0-1531-4807-b983-f855ed586cee.jpeg align="center")](https://www.udemy.com/course/logica-de-programacao-com-pascalzim/?referralCode=E547897C16AD4FF23AED)

## O Que Causa Esse Erro?

O erro "Permission denied (publickey)" normalmente acontece por um dos seguintes motivos:

1. **Você não tem uma chave SSH configurada no seu computador.**
    
2. **Sua chave SSH não está adicionada ao GitHub.**
    
3. **O agente SSH não está em execução ou sua chave não está carregada.**
    
4. **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:

```bash
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:

```bash
ssh-keygen -t ed25519 -C "seu-email@example.com"
```

Caso seu sistema não suporte Ed25519, use RSA:

```bash
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:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1740608778005/a47720c6-11e5-4ea7-88de-2a94cc217200.png align="center")

1. Pegue a chave pública com este comando:
    
    ```bash
    cat ~/.ssh/id_ed25519.pub  # Ou ~/.ssh/id_rsa.pub se for RSA
    ```
    
2. Copie o conteúdo exibido.
    
3. Acesse [GitHub → Configurações → SSH and GPG keys](https://github.com/settings/keys).
    
4. Clique em **New SSH Key**.
    
5. 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:

```bash
ssh -T git@github.com
```

Se tudo estiver correto, você verá uma mensagem como esta:

```bash
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:

```bash
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:

```bash
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.

[![](https://cdn.hashnode.com/res/hashnode/image/upload/v1768400257859/e8e60dac-dca0-494a-be10-3ff37d16b96a.jpeg align="center")](https://www.udemy.com/course/logica-de-programacao-com-pascalzim/?referralCode=E547897C16AD4FF23AED)

## 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! 🚀
