Como Corrigir o Erro ssh connect Permission denied (publi…

スポンサーリンク

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

Visão Geral do Erro

O erro “ssh connect Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)” é uma mensagem comum que pode ocorrer ao tentar se conectar a um servidor via SSH. Essa mensagem indica que o cliente SSH não conseguiu autenticar com sucesso, resultando na recusa de acesso. Isso pode ser causado por uma variedade de fatores, incluindo configurações inadequadas de chave pública, permissões inadequadas no servidor ou problemas de configuração no cliente.

Neste artigo, vamos explorar as causas comuns desse erro e apresentar métodos de solução que podem ajudar a resolver o problema.

Causas Comuns

Existem várias razões pelas quais você pode encontrar o erro “ssh connect Permission denied”:

  1. Chave pública não adicionada ao servidor: A chave pública do seu cliente SSH pode não estar registrada no arquivo authorized_keys do servidor.
  2. Permissões inadequadas: As permissões do diretório .ssh ou do arquivo authorized_keys podem estar configuradas incorretamente, impedindo a autenticação.
  3. Chave privada não carregada: A chave privada correspondente à chave pública pode não estar carregada no agente SSH.
  4. Configuração do cliente SSH: O cliente SSH pode não estar configurado corretamente para usar a chave privada correta.
  5. Autenticação por senha: Se você estiver tentando usar a autenticação por senha e não estiver habilitada, a conexão será negada.
  6. Problemas de rede: Problemas de conectividade de rede ou firewall também podem causar falhas na autenticação.

Métodos de Solução

Método 1: Verificar as Chaves SSH

  1. Verifique se a chave pública está no servidor:
  2. Conecte-se ao servidor e execute:
    bash
    cat ~/.ssh/authorized_keys
  3. Certifique-se de que a chave pública do seu cliente SSH está listada. Se não estiver, adicione-a.
  4. Adicione a chave pública:
  5. No seu cliente, gere uma nova chave SSH (se necessário):
    bash
    ssh-keygen -t rsa
  6. Copie a chave pública para o servidor:
    bash
    ssh-copy-id user@servidor

Método 2: Configurar Permissões Corretas

  1. Verifique as permissões do diretório .ssh:
  2. No servidor, execute:
    bash
    chmod 700 ~/.ssh
  3. Verifique as permissões do arquivo authorized_keys:
  4. No servidor, execute:
    bash
    chmod 600 ~/.ssh/authorized_keys
  5. Verifique as permissões do arquivo da chave privada no cliente:
  6. Execute:
    bash
    chmod 600 ~/.ssh/id_rsa

Método 3: Carregar a Chave Privada

  1. Verifique se a chave está carregada:
  2. Execute no cliente:
    bash
    ssh-add -l
  3. Se a chave não estiver listada, adicione-a:
    bash
    ssh-add ~/.ssh/id_rsa
  4. Se você não tiver o ssh-agent em execução, inicie-o:
  5. Execute:
    bash
    eval $(ssh-agent)

Método 4: Configurar o Arquivo ansible.cfg

  1. Crie ou edite o arquivo ansible.cfg no diretório do seu playbook:
  2. Adicione a seguinte linha para definir a chave privada globalmente:
    ini
    [defaults]
    private_key_file = /home/username/.ssh/id_rsa
  3. Execute o playbook com a chave privada especificada:
    bash
    ansible-playbook -vvvv --private-key=/home/username/.ssh/id_rsa playbookname.yml

Método 5: Aumentar a Verbosidade para Diagnóstico

  1. Execute o comando com mais verbosidade:
    bash
    ansible-playbook --user=djuarezg -vvv ansible-playbook-test.yml
  2. Isso fornecerá mais informações sobre o que pode estar dando errado.
  3. Verifique os argumentos SSH na saída e ajuste conforme necessário.

Dicas de Prevenção

  • Mantenha suas chaves SSH seguras e faça backup delas.
  • Verifique regularmente as permissões dos arquivos e diretórios SSH.
  • Use autenticação de chave ao invés de senha sempre que possível, pois é mais segura.
  • Mantenha seu software atualizado, incluindo o cliente SSH e o servidor.

Resumo

O erro “ssh connect Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)” pode ser frustrante, mas geralmente é causado por uma configuração inadequada de chaves ou permissões. Seguindo os métodos de solução descritos acima, você pode resolver esse problema e garantir uma conexão SSH bem-sucedida. Lembre-se de verificar sempre as permissões e a configuração do seu ambiente de SSH para evitar esse erro no futuro.

コメント

タイトルとURLをコピーしました