Poupe até 53% em Servidores VPS, escolha agora. Oferta limitada.

Solucionar erro 'Permission denied' no SSH após mudança de chave

9 min de leitura  ·  Guia técnico

Solucionar erro 'Permission denied' no SSH ocorre quando há problemas de autenticação por chave pública após mudanças no sistema. A causa mais comum são permissões incorretas nos arquivos de chave ou configuração inadequada do ssh-agent. Para resolver este problema, siga estes passos:

  1. Verificar permissões dos arquivos de chave SSH
  2. Confirmar se a chave está carregada no ssh-agent
  3. Validar configuração do arquivo authorized_keys
  4. Testar conexão com modo verbose para diagnóstico
  5. Reconfigurar chaves SSH se necessário

Pré-requisitos

  • Acesso ao terminal local com as chaves SSH
  • Conhecimento do usuário e IP do servidor remoto
  • Acesso alternativo ao servidor (console, painel de controle)
  • Sistema operacional Linux ou macOS no cliente
  • OpenSSH instalado (versão 7.0 ou superior recomendada)

Verificando permissões dos arquivos SSH

O primeiro passo para solucionar erro 'Permission denied' no SSH é verificar se as permissões dos arquivos estão corretas. O sistema SSH é rigoroso quanto às permissões por questões de segurança.

Verifique as permissões da sua chave privada:

ls -la ~/.ssh/id_rsa

O output esperado deve mostrar permissões 600:

-rw------- 1 usuario usuario 1679 Nov 15 10:30 /home/usuario/.ssh/id_rsa

Se as permissões estiverem incorretas, corrija com:

chmod 600 ~/.ssh/id_rsa

Para a chave pública, verifique e corrija se necessário:

chmod 644 ~/.ssh/id_rsa.pub

Também verifique as permissões do diretório .ssh:

chmod 700 ~/.ssh

Configurando o ssh-agent corretamente

O ssh-agent gerencia suas chaves SSH em memória, facilitando a autenticação. Após mudanças de chave, é comum que o agent não tenha a nova chave carregada.

Primeiro, verifique se o ssh-agent está rodando:

ssh-add -l

Se retornar "Could not open a connection to your authentication agent", inicie o agent:

eval $(ssh-agent)

Adicione sua chave privada ao agent:

ssh-add ~/.ssh/id_rsa

O output esperado confirma a adição:

Identity added: /home/usuario/.ssh/id_rsa (usuario@hostname)

Para adicionar automaticamente ao iniciar o sistema, adicione ao seu ~/.bashrc:

echo 'eval $(ssh-agent) > /dev/null && ssh-add ~/.ssh/id_rsa > /dev/null 2>&1' >> ~/.bashrc

Removendo chaves antigas do agent

Se você trocou de chave, remova as antigas do agent:

ssh-add -D

Em seguida, adicione apenas a nova chave:

ssh-add ~/.ssh/nova_chave_privada

Validando configuração do servidor remoto

O arquivo authorized_keys no servidor deve conter sua chave pública e ter permissões adequadas. Este é um ponto crítico para resolver problemas de autenticação SSH.

Se você tem acesso alternativo ao servidor, conecte via console e verifique:

ls -la ~/.ssh/authorized_keys

As permissões devem ser 600:

-rw------- 1 usuario usuario 394 Nov 15 10:30 /home/usuario/.ssh/authorized_keys

Corrija as permissões se necessário:

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

Verifique se sua chave pública está no arquivo:

cat ~/.ssh/authorized_keys

Compare com sua chave pública local:

cat ~/.ssh/id_rsa.pub

Adicionando chave pública ao servidor

Se a chave não estiver presente, adicione-a:

echo "sua_chave_publica_aqui" >> ~/.ssh/authorized_keys

Ou use o comando ssh-copy-id se tiver acesso temporário por senha:

ssh-copy-id -i ~/.ssh/id_rsa.pub usuario@servidor

Diagnóstico avançado com modo verbose

O modo verbose do SSH fornece informações detalhadas sobre o processo de autenticação, essencial para identificar onde exatamente ocorre a falha.

Execute a conexão com máximo nível de debug:

ssh -vvv usuario@servidor

Analise o output procurando por estas linhas importantes:

debug1: Offering public key: /home/usuario/.ssh/id_rsa RSA SHA256:...
debug1: Server accepts key: /home/usuario/.ssh/id_rsa RSA SHA256:...
debug1: Authentication succeeded (publickey)

Se a chave for rejeitada, você verá:

debug1: Offering public key: /home/usuario/.ssh/id_rsa RSA SHA256:...
debug1: Authentications that can continue: publickey

Verificando configuração do servidor SSH

No servidor, verifique se a autenticação por chave está habilitada:

sudo grep -E "PubkeyAuthentication|AuthorizedKeysFile" /etc/ssh/sshd_config

Deve retornar:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

Se precisar alterar, edite o arquivo e reinicie o SSH:

sudo systemctl restart sshd

Problemas comuns e como resolver

Erro: "Permission denied (publickey,gssapi-keyex,gssapi-with-mic)"

Causa: O servidor não consegue validar sua chave pública ou ela não está configurada corretamente.
Solução: Verifique se a chave pública está no arquivo authorized_keys do servidor e se as permissões estão corretas (600 para o arquivo, 700 para o diretório .ssh).

Erro: "Could not open a connection to your authentication agent"

Causa: O ssh-agent não está rodando ou não foi iniciado corretamente.
Solução: Execute eval $(ssh-agent) para iniciar o agent e depois ssh-add ~/.ssh/id_rsa para carregar sua chave.

Erro: "Bad permissions" nos arquivos SSH

Causa: Os arquivos de chave têm permissões muito abertas, o que o SSH considera inseguro.
Solução: Execute chmod 600 ~/.ssh/id_rsa para a chave privada, chmod 644 ~/.ssh/id_rsa.pub para a pública e chmod 700 ~/.ssh para o diretório.

Chave funciona em um servidor mas não em outro

Causa: A chave pública não foi adicionada ao arquivo authorized_keys do segundo servidor.
Solução: Copie o conteúdo de ~/.ssh/id_rsa.pub e adicione ao arquivo ~/.ssh/authorized_keys no servidor de destino.

Conexão funciona com senha mas não com chave

Causa: O servidor pode ter a autenticação por chave desabilitada ou configurada incorretamente.
Solução: Verifique no servidor se PubkeyAuthentication yes está configurado em /etc/ssh/sshd_config e reinicie o serviço SSH.

Perguntas frequentes sobre solucionar erro SSH

Por que recebo 'Permission denied' mesmo com a chave SSH correta?

O erro pode ocorrer por permissões incorretas nos arquivos de chave (devem ser 600 para chave privada e 644 para pública), chave não adicionada ao ssh-agent, ou arquivo authorized_keys com permissões inadequadas (deve ser 600).

Como verificar se minha chave SSH está sendo usada corretamente?

Execute 'ssh -v usuario@servidor' para ver logs detalhados da conexão. O output mostrará quais chaves estão sendo testadas e onde o processo falha. Também verifique com 'ssh-add -l' se a chave está carregada no agent.

Qual é a diferença entre 'Permission denied (publickey)' e outros erros SSH?

O erro 'Permission denied (publickey)' indica especificamente falha na autenticação por chave pública, enquanto 'Connection refused' indica que o serviço SSH não está rodando e 'Host key verification failed' indica problema com a chave do servidor.

Como restaurar acesso SSH quando perco a chave privada?

Se você tem acesso físico ou console do servidor, pode gerar um novo par de chaves e adicionar a pública ao arquivo ~/.ssh/authorized_keys. Caso contrário, precisará usar o console de emergência do provedor VPS para reconfigurar o acesso.

É seguro usar senha como fallback quando a chave SSH falha?

Não é recomendado manter autenticação por senha habilitada em produção, pois é menos segura que chaves SSH. Configure sempre um método de acesso de emergência através do console do provedor antes de desabilitar completamente a autenticação por senha.

Conclusão

  • Sempre verifique permissões dos arquivos SSH antes de investigar outros problemas
  • Use o modo verbose (-vvv) para diagnosticar exatamente onde a autenticação falha
  • Mantenha um método de acesso alternativo configurado antes de fazer mudanças críticas no SSH

Leia também

Precisa de ajuda com configuração SSH no seu VPS?

Nossa equipe técnica especializada pode auxiliar na configuração segura do SSH e resolução de problemas de conectividade. Oferecemos suporte completo para servidores Linux com foco em segurança e performance.

Conheça nossos planos de VPS Linux

  • 0 Os usuários acharam isso útil
  • ssh, permission-denied, chave-ssh, autenticacao, linux, vps, avirahost
Esta resposta foi útil?

Artigos Relacionados

Instalando painel de gerenciamento de hospedagem VirtualMin.

O virtualmin é um painel de gerenciamento de hospedagem de sites gratuito, que é suportado por...

Como usar a ferramenta oficial de acesso remoto do Windows no PC e celular

1. Pelo menu Iniciar, acesse os “Acessórios do Windows” e abra o “Conexão de Área de Trabalho...

Como acessar o painel de gerenciamento dos meus Serviços.

Para acessar o painel de gerenciamento do seu serviço basta seguir o passo á passo abaixo.   1....

Compreendendo o Servidor VPS: O que é e Como Funciona!

Um servidor VPS (Virtual Private Server) é uma solução de hospedagem na qual um servidor físico é...

Como trocar a senha do usuário root do servidor VPS ou Dedicado.

Para trocar a senha do usuário root em um servidor VPS da AviraHost, você pode seguir os...