it-swarm-pt.tech

Autenticação de chave pública Permissão negada (publickey)

Eu estou tentando configurar a autenticação de chave pública em um servidor com o Ubuntu 14.04 seguindo este post . Eu fiz o seguinte até agora:

  1. Chaves RSA geradas no host usando ssh-keygen -t rsa.

    As chaves (id_rsa e id_rsa.pub) agora são armazenadas no diretório ~/.ssh.

  2. Copiou as chaves para o servidor usando ssh-copy-id <username>@<Host>

  3. Editado o arquivo/etc/ssh/sshd_config para adicionar a linha PasswordAuthentication no.

  4. Ssh reiniciado com /etc/init.d/ssh restart.

Agora, quando eu tento ssh do Host para o servidor eu recebo o seguinte exibido (eu editei alguns detalhes como endereço do servidor e nomes de host):

$: ssh -v user @ domain 
 OpenSSH_6.6.1, OpenSSL 1.0.1f 6 de janeiro de 2014 
 debug1: Lendo dados de configuração /home/Host/.ssh/config
debug1: Lendo os dados de configuração /etc/ssh/ssh_config
debug1:/etc/ssh/ssh_config linha 19: Aplicando opções para * 
 Debug1: Conectando ao domínio [192.168.xx.xx] porta 22. 
 debug1: Conexão estabelecida. 
 debug1: arquivo de identidade /home/Host/.ssh/id_rsa tipo 1 
 debug1: arquivo de identidade /home/Host/.ssh/id_rsa-cert type -1 
 Debug1: arquivo de identidade /home/Host/.ssh/id_dsa tipo -1 
 Debug1: arquivo de identidade /home/Host/.ssh/id_dsa-cert tipo -1 
 debug1: arquivo de identidade /home/Host/.ssh/id_ecdsa tipo -1 
 debug1: arquivo de identidade /home/Host/.ssh/id_ecdsa-cert tipo -1 
 debug1: arquivo de identidade/home/Host/.ssh/id_ed25519 tipo -1 
 debug1: arquivo de identidade /home/Host/.ssh/id_ed25519-cert tipo -1 
 debug1: Ativando o modo de compatibilidade para o protocolo 2.0 
 debug1: string de versão local SSH-2.0-OpenSSH_6.6.1p1 Ubuntu -2ubuntu2.8 
 Debug1: Versão do protocolo remoto 2.0, versão de software remoto OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8 
 Debug1: correspondência: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8 pat OpenSSH_6.6.1 * compat 0x04000000 
 debug1: SSH2_MSG_KEXINIT enviado 
 debug1: SSH2_MSG_KEXINIT recebeu 
 debug1: kex: servidor-> cliente aes128-ctr [email protected] nenhum 
 debug1: kex: cliente-> servidor aes128-ctr [email protected] nenhum 
 debug1: enviando SSH2_MSG_KEX_ECDH_INIT 
 debug1: esperando SSH2_MSG_KEX_ECDH_REPLY 
 debug1: Host do Servidor key: ECDSA 16: 00: b8: c5: 89: af: e9: 50: 22: 85: 76: 6d: 65: 1c: aa: b4 
 debug1: Host 'domínio' é conhecido e corresponde ao Chave do Host ECDSA. 
 Debug1: Chave encontrada em /home/Host/.ssh/known_hosts:2
debug1: ssh_ecdsa_verify: assinatura correta 
 Debug1: SSH2_MSG_NEWKEYS enviada 
 debug1: esperando SSH2_MSG_NEWKEYS 
 debug1: SSH2_MSG_NEWKEYS recebeu 
 debug1: SSH2_MSG_SERVICE_REQUEST enviado 
 debug1: SSH2_MSG_SERVICE_ACCEPT recebido 
 debug1: Autenticações que podem continuar: publickey 
 debug1: Próximo método de autenticação: publickey 
 debug1: Oferta de chave pública RSA: /home/Host/.ssh/id_rsa
 debug1: Autenticações que podem continuar: publickey 
 debug1: Tentativa de chave privada: /home/Host/.ssh/id_dsa
debug1: Tentativa de chave privada: /home/Host/.ssh/id_ecdsa 
 debug1: Tentativa de chave privada: /home/Host/.ssh/id_ed25519
debug1: Não há mais métodos de autenticação para tentar. 
 Permissão negada (publickey).

Eu segui this para corrigir o problema e fiz o seguinte:

  1. As permissões garantidas não são muito abertas pelos padrões do OpenSSH.

    chmod go-w ~/
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
  2. Criado um arquivo authorized_keys no computador host por ssh-copy-id [email protected] e copiado o arquivo authorized_keys para o servidor, alterou a propriedade e as permissões conforme necessário.

Ainda assim, o problema persiste. Eu era capaz de ssh no servidor usando com êxito a senha antes de tentar usar a autenticação de chave pública. Alguém já enfrentou problemas semelhantes?

Editar:

Havia uma nova linha adicionada à saída quando tentei o ssh mais tarde: Agent admitted failure to sign using the key.. Alguns googling levaram a this issue. O problema é chamado de interferência do gnome-keyring. Quando tentei SSH_AUTH_SOCK=0 ssh [email protected], consegui fazer login no servidor usando a autenticação de chave pública. Obrigado a todos pela sua contribuição.

3
lets_try

Quando tentei ssh -i ~/.ssh/key_name [email protected], houve uma resposta do servidor que disse Agent admitted failure to sign using the key.. Isto é aparentemente devido ao problema de interferência do gnome-keyring e a correção é discutida neste link .

Uma correção temporária é tentar SSH_AUTH_SOCK=0 ssh [email protected] e se com isso você pode ssh em seu servidor, em seguida, siga com a correção no link acima.

3
lets_try