Como resolver o erro ‘Permissão negada (chave pública)’

Como Resolver O Erro Permissao Negada Chave Publica



SSH significa Secure Shell, que é um protocolo que estabelece conexões remotas seguras com servidores, hosts remotos e outros dispositivos de rede. Usando SSH, os usuários podem se comunicar com segurança usando os pares de chaves públicas e privadas para criptografar as informações entre o cliente e o host remoto.

Às vezes, ao tentar se conectar via SSH, você pode encontrar o erro “Permissão negada (chave pública)”. Este erro pode ocorrer se você alterou as configurações de permissão em seu servidor SSH, como criar novas contas de usuário ou instalar novos pacotes. Portanto, impede que você se conecte com êxito ao seu servidor SSH.

Neste guia, aprenderemos como corrigir o erro de permissão SSH negada (chave pública). Além disso, também exploraremos suas causas e possíveis soluções para resolver esse erro comum de autenticação SSH.







Você também pode aprender como gerar uma chave SSH no Ubuntu usando este guia.



Por que ocorre o erro SSH “Permissão negada (chave pública)”?

Este erro pode ocorrer devido a diferentes causas, como nome de usuário ou host incorreto, chave pública ausente no servidor, permissões inválidas para chaves e pastas SSH e configuração do serviço SSH. No entanto, as duas principais causas desse erro estão listadas a seguir:



  1. Este erro pode ocorrer devido a uma configuração incorreta no arquivo “/etc/ssh/sshd_config” que contém as configurações SSH padrão.
  2. O erro também pode ocorrer devido a permissões inadequadas no arquivo “~/.ssh/authorized_key” localizado no sistema remoto. Este arquivo contém as chaves públicas dos sistemas clientes que têm permissão para estabelecer conexões SSH com o servidor.

Como corrigir o erro “Permissão negada (chave pública)”

Você pode resolver o erro “permissão negada (chave pública)” usando dois métodos diferentes:

Solução 1: verifique e habilite a autenticação por senha

Um dos principais motivos para este erro é a configuração errada do arquivo “/etc/ssh/sshd_config”. Desabilitar o recurso de autenticação por senha em seu sistema pode causar este erro quando alguém usa apenas a autenticação baseada em chave SSH e a chave privada pode não estar presente por qualquer motivo. Portanto, se quiser acessar o servidor SSH usando autenticação por senha, você pode corrigir o “erro de permissão negada” habilitando o recurso de autenticação por senha em seu arquivo de configuração SSH.

Para fazer isso, abra o terminal usando o atalho de teclado “Ctrl+Alt+t” e execute as seguintes etapas no lado do servidor:

Passo 1: Abra o arquivo de configuração “/etc/ssh/sshd_config” em um editor de texto. Aqui, usamos o editor de texto nano padrão.

$ sudo nano / etc. / ssh / sshd_config

Passo 2 : Localize a linha “PasswordAuthentication” e habilite-a para “sim”. Se esta linha estiver comentada, remova o símbolo “#” no início para descomentar esta linha.

Salve as alterações anteriores usando “Ctrl+O” e saia do arquivo de configuração via “Ctrl+x”.

etapa 3 : recarregue ou reinicie o serviço SSH novamente em seu sistema usando o comando mencionado a seguir para aplicar as alterações a um arquivo.

$ sudo systemctl reiniciar sshd

Agora, se você tentar se conectar ao seu cliente SSH novamente, deverá conseguir acessar a máquina host remota.

$ ssh nossa paciência @ 10.0.2.15

Solução 2: alterar as permissões em SSH Authorized_Keys
O uso do método de autenticação baseado em senha SSH não é recomendado devido a questões de segurança. Portanto, este método é preferível, pois corrige esse erro usando a abordagem de autenticação fundamental pública. Na maioria dos casos, o erro ocorre pela configuração de propriedade e permissões incorretas em um arquivo “~/.ssh/authorized_keys” localizado no servidor remoto. Para corrigir o erro usando este método, você precisa seguir as etapas fornecidas:

Passo 1 : Abra o arquivo “/etc/SSH/sshd_config” em um editor de texto.

$ sudo nano / etc. / ssh / sshd_config

Agora, edite as seguintes opções:

PermitRootLogin não
Autenticação Pubkey sim

Se você quiser usar o login root, defina “permitrootlogin yes”.

Passo 2 : Comente as opções da GSSAPI adicionando o símbolo “#” no início destas linhas.

#GSSAPIAuthentication sim
#GSSAPICleanupCredentials não

Além disso, defina “UsePAM sim” no arquivo de configuração.

etapa 3 : salve a configuração anterior e reinicie os serviços SSH usando este comando:

$ sudo systemctl reiniciar sshd

Agora, verifique as permissões na sua pasta pessoal:

$ eu -ld

Se você não tiver permissões de leitura e gravação (drwx——) nesta pasta, defina as permissões usando o comando “chmod”:

$ sudo chmod / lar / nossa paciência

Altere a permissão na pasta “.ssh” usando o seguinte comando:

$ chmod 07:00 / lar / sua_casa / .ssh

A pasta “.ssh” contém o arquivo “authorized_keys”. Verifique as permissões neste arquivo.

$ eu -ld .ssh / chaves_autorizadas

O proprietário do arquivo deve ter permissões de leitura e gravação. Para alterar as permissões do arquivo, use o seguinte comando:

$ chmod 06:00 / lar / [ nome de usuário ] / .ssh / chaves_autorizadas

Agora, tente conectar-se ao host remoto SSH. Esperamos que você não receba nenhum erro no momento da conexão.

Conclusão

Neste guia de solução de problemas, exploramos como resolver o erro “Permissão negada (chave pública)”. Discutimos as possíveis causas desse erro e recomendamos duas soluções diferentes para resolvê-lo. Esperamos que as instruções anteriores ajudem você a corrigir esse erro em seu sistema Linux. Se quiser obter mais conhecimentos, pode visitar o seu documentação aqui . Obrigado!