Como corrigir erro de permissão negada (Publickey)

Publicados: 2024-01-10
Índice
  • Por que isso importa
  • Noções básicas de conexões seguras de computador
  • Chave para a fechadura: chaves públicas
  • Por que esse erro acontece?
  • Como corrigi-lo
  • Dicas extras se ainda não estiver funcionando
  • Mantendo tudo funcionando perfeitamente
  • Perguntas frequentes
  • Outros recursos
  • Empacotando

Você já se deparou com a mensagem “Erro: Permissão negada (Publickey)” ao usar seu computador? Este é um erro comum que geralmente aparece durante conexões SSH, que é uma forma de os computadores se comunicarem entre si com segurança.

Pense nisso como tentar usar uma chave que não cabe na fechadura. Quando você vê esse erro, significa que seu computador está tendo problemas para estabelecer um link seguro com outro computador, porque algo na configuração de segurança não está correspondendo.

Como corrigir erro: permissão negada (Publickey)

Por que isso importa

Conexões seguras, como aquelas feitas com SSH, são como ter uma conversa privada em uma sala barulhenta. Você não gostaria que todos ouvissem, especialmente se você estiver compartilhando segredos ou informações pessoais, certo? É por isso que corrigir esse erro é tão importante.

Ele mantém as conversas do seu computador privadas e seguras, garantindo que informações confidenciais, como senhas, permaneçam confidenciais.

Noções básicas de conexões seguras de computador

Vamos mergulhar no que é SSH.

SSH significa Secure Shell e é uma forma especial de os computadores se comunicarem entre si pela Internet de uma forma supersegura. Imagine o SSH como um túnel privado especial que conecta dois computadores.

Somente esses dois computadores podem enviar mensagens entre si através deste túnel, mantendo a conversa protegida de bisbilhoteiros.

Chave para a fechadura: chaves públicas

Para tornar este túnel seguro, o SSH usa algo chamado “autenticação de chave pública”. É como ter uma senha especial, mas em forma de chave. Seu computador possui uma chave exclusiva (chamada chave pública) que compartilha com o outro computador.

Pense nisso como um aperto de mão secreto. Se o handshake não corresponder, a conexão não acontecerá, e é aí que você verá a mensagem “Erro: Permissão negada (Publickey)” .

Por que esse erro acontece?

Então, por que você vê esse erro? Existem alguns motivos comuns:

  1. Principais problemas: Às vezes, o erro ocorre porque há algo errado com a configuração da sua chave especial. Talvez a chave do seu computador não corresponda à do computador com o qual você está tentando falar. É como tentar encaixar uma cavilha quadrada num buraco redondo – simplesmente não funciona.
  2. Configurações erradas: Outras vezes, as configurações ou permissões do seu computador podem estar configuradas incorretamente. Isso pode impedir que o computador use a chave corretamente, como ter a chave certa, mas não conseguir girá-la na fechadura.

Como corrigi-lo

Agora que você entende um pouco por que esse erro acontece, vamos falar sobre como corrigi-lo. Aqui estão algumas etapas que você pode seguir:

Verifique as permissões da chave SSH:

Defina as permissões corretas para sua chave privada.

 chmod 600 ~/.ssh/id_rsa chmod 600 ~/.ssh/autorized_keys

Certifique-se de que sua chave pública esteja em ~/.ssh/authorized_keys no servidor. Caso contrário, adicione-o usando:

gato ~/.ssh/id_rsa.pub | ssh usuário@hostname 'cat >> ~/.ssh/authorized_keys'.

Depurando a conexão SSH

Execute ssh -vvv user@hostname para ativar o modo detalhado, fornecendo diagnósticos detalhados de conexão.

Verifique no servidor as configurações corretas, especialmente para PasswordAuthentication e PubkeyAuthentication .

gato etc/ssh/sshd_config

Soluções Adicionais:

Verifique novamente se você está usando o nome de usuário correto para a conexão SSH.

Reinicie o serviço SSH para atualizar as conexões.

 sudo systemctl restart sshd

Verifique a porta de conexão SSH no arquivo de configuração SSH. O padrão geralmente é 22, mas pode ter sido alterado.

verifique a porta ssh

Verifique os logs do servidor, como /var/log/auth.log ou /var/log/secure, para obter detalhes do erro.

Dicas extras se ainda não estiver funcionando

Se você tentou essas etapas e ainda vê o erro, aqui estão mais algumas coisas que você pode tentar:

  1. Modo de conversação: ative o modo detalhado no SSH. É como pedir ao seu computador mais pistas sobre o que está errado. Você faz isso adicionando -vvv ao seu comando SSH, como ssh -vvv [email protected] . Ele lhe dará muito mais detalhes sobre o que está acontecendo quando você tenta se conectar.
  2. Problemas do agente: Às vezes, o problema pode estar no agente SSH, uma ferramenta que contém suas chaves. Se o agente não estiver funcionando corretamente, suas chaves não serão apresentadas corretamente. Às vezes, reiniciar o agente SSH pode ajudar.

Mantendo tudo funcionando perfeitamente

Para evitar esse erro no futuro, aqui estão algumas dicas para manter tudo funcionando bem:

  1. Cuidados com as chaves: trate suas chaves SSH como se fossem uma chave de casa. Mantenha-os seguros e não os compartilhe com outras pessoas. Verifique regularmente se eles ainda estão funcionando como deveriam.
  2. Check-ups regulares: assim como você verifica regularmente se há algum problema em seu carro ou casa, faça o mesmo com suas configurações de SSH. Certifique-se de que as configurações não tenham sido alteradas inesperadamente e que suas chaves estejam atualizadas.

Perguntas frequentes

Como configuro a autenticação de chave pública em SSH?

Para configurar a autenticação de chave pública em SSH, primeiro gere um par de chaves SSH em sua máquina local usando um comando como ssh-keygen . Isso cria uma chave privada ( id_rsa ) e uma chave pública ( id_rsa.pub ). Em seguida, copie a chave pública para o arquivo ~/.ssh/authorized_keys do servidor usando ssh-copy-id user@server_ip . Certifique-se de que o authorized_keys tenha permissões corretas (geralmente 600) para segurança. Esta configuração permite que o SSH use autenticação baseada em chave em vez de senhas.

Quais são as causas comuns para o erro 'Permissão SSH negada (Publickey)'?

  • As causas comuns desse erro incluem:
  • Permissões incorretas nos arquivos de chave SSH. A chave privada deve ser legível apenas pelo usuário (600).
  • Configuração incorreta nos arquivos de configuração SSH ( sshd_config ou ssh_config ).
  • Software cliente ou servidor SSH desatualizado que pode não suportar os protocolos de autenticação atuais.
  • Firewall ou software de segurança bloqueando portas ou conexões SSH.
  • Configure incorretamente a chave pública no authorized_keys ou use um nome de usuário errado para a conexão SSH.

Como posso verificar se minha chave SSH foi adicionada corretamente ao servidor?

Para verificar, faça login no servidor e verifique o arquivo ~/.ssh/authorized_keys . Sua chave pública deve estar listada lá. Você também pode testar a conexão tentando fazer o SSH no servidor. Se não solicitar uma senha, a chave foi adicionada corretamente.

Por que é importante restringir as permissões nos arquivos de chave SSH?

Restringir permissões em arquivos de chave SSH é crucial para a segurança. Se outras pessoas puderem ler sua chave privada, elas poderão acessar seus servidores. Manter a chave privada segura garante que somente você possa usá-la para autenticação.

As alterações na configuração SSH do servidor podem levar a erros de 'Permissão negada'?

Sim, alterações no arquivo de configuração SSH do servidor ( etc/ssh/sshd_config ) podem levar a tais erros. Por exemplo, se PubkeyAuthentication estiver definido como no , o servidor não aceitará a autenticação de chave pública, levando a um erro de permissão negada.

O que devo fazer se meu cliente SSH estiver desatualizado?

Se o seu cliente SSH estiver desatualizado, ele poderá não suportar métodos de autenticação mais recentes ou poderá ter vulnerabilidades de segurança não corrigidas. É importante atualizar seu cliente SSH para a versão mais recente disponível para seu sistema operacional.

Como os firewalls afetam as conexões SSH?

Os firewalls podem bloquear conexões SSH se estiverem configurados para restringir o acesso à porta SSH (o padrão é 22). Certifique-se de que seu firewall permita tráfego na porta usada para SSH para evitar problemas de conexão.

Outros recursos

Como instalar o Sendmail no Linux 2024 (passo a passo)

Comandos básicos do Linux para DevOps (manual)

Empacotando

Neste artigo, exploramos o que causa o “Erro: Permissão negada (Publickey)” e como corrigi-lo. Lembre-se de que esse erro é como uma chave que não cabe na fechadura – geralmente significa que há algo errado com a maneira como suas chaves SSH estão configuradas ou sendo usadas. Seguindo as etapas descritas, você poderá resolver o problema e voltar a ter conversas seguras com outros computadores.