Como resolver o erro 'Permission denied (publickey)' ao conectar via SSH
Olá, amigo(a) desenvolvedor(a) ou administrador(a) de site! 👋 Se você está tentando se conectar ao seu servidor via SSH e recebe a mensagem "Permission denied (publickey)", não se preocupe — isso é bem comum, e com um passo a passo simples, vamos resolver juntos. Aqui na GeHost, acreditamos que tecnologia deve ser acessível, segura e tranquila. Vamos juntos, com calma e certeza?
🔍 O que significa esse erro?
O erro "Permission denied (publickey)" quer dizer que o servidor reconhece sua chave pública, mas não a aceita como válida para autenticação. Isso geralmente acontece por um dos seguintes motivos:
- Chave pública não cadastrada no servidor;
- Chave privada incorreta ou mal configurada;
- Permissões incorretas no arquivo de chave;
- Problema no caminho do arquivo ou nome do arquivo de chave.
Calma — vamos resolver tudo, passo a passo. Você está no lugar certo. 💪
🛠️ Passo a passo para corrigir o erro
-
Verifique se você tem uma chave SSH gerada
Se você nunca gerou uma chave SSH, é necessário fazer isso. No terminal (Linux/Mac) ou no PowerShell (Windows), digite:
ssh-keygen -t ed25519 -C "seu_email@dominio.com"Pressione Enter para aceitar o local padrão (geralmente
~/.ssh/id_ed25519).Quando pedir senha (passphrase), você pode deixar em branco (não recomendado em ambientes públicos), ou digitar uma senha forte.
-
Confira o conteúdo da chave pública
Abra o arquivo de chave pública com o comando:
cat ~/.ssh/id_ed25519.pubIsso mostrará uma linha longa começando com
ssh-ed25519(oussh-rsa, dependendo do tipo). Copie essa linha inteira. -
Adicione a chave pública no painel da GeHost
Entre no seu painel do cliente em painel.gehost.com.br.
Na seção de SSH (geralmente em "Segurança" ou "SSH & Keys"), clique em "Gerenciar Chaves" ou "Adicionar Chave Pública".
Coloque a linha copiada no campo de chave pública e salve.
-
Use o nome da chave correta ao se conectar
Quando se conectar via SSH, digite:
ssh -i ~/.ssh/id_ed25519 usuario@seu_servidorSubstitua
usuariopelo seu nome de usuário no servidor (geralmente o nome da conta no cPanel) eseu_servidorpelo endereço do servidor (ex:ssh.gehost.com.br— consulte seu contrato ou painel).Se você gerou a chave com outro nome, ajuste o caminho com
-i. -
Verifique as permissões do arquivo de chave privada
Chaves privadas não podem ter permissões muito abertas. No terminal, execute:
chmod 600 ~/.ssh/id_ed25519Isso garante que só você possa ler e escrever o arquivo.
-
Teste a conexão novamente
Execute o comando de conexão SSH novamente. Agora, se tudo estiver certo, você deve conseguir entrar sem senha (ou com a senha da passphrase, se definida).
💡 Dicas importantes (como um amigo te dizendo em voz baixa)
- Se você estiver usando Windows, recomenda-se usar o Windows Terminal ou WSL (Windows Subsystem for Linux) para evitar problemas com caminhos e permissões.
- Nunca compartilhe sua chave privada (
id_ed25519ouid_rsa) com ninguém. - Se o erro persistir, verifique se o servidor está aceitando conexões por SSH (geralmente habilitado por padrão na GeHost).
- Se não tiver certeza sobre o nome do usuário ou servidor, entre no painel e veja as informações do seu plano.
❓ Precisa de ajuda extra?
Se mesmo após seguir todos os passos o erro persistir, entre em contato com o suporte da GeHost — estamos aqui para te ajudar. É só acessar o painel do cliente e abrir um ticket. Lembre-se: temos 30 dias grátis de suporte após a entrega.
Se precisar, posso te ajudar a verificar os dados do seu plano, mas sempre com respeito ao seu direito de privacidade. 💬
Até a próxima conexão, com segurança e bom humor! 🌟