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

2

Estou tentando configurar a autenticação de chave pública em um servidor que executa o Ubuntu 14.04 seguindo esta postagem . 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. Copiei 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, 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 Jan 2014
debug1: Reading configuration data /home/host/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to domain [192.168.xx.xx] port 22.
debug1: Connection established.
debug1: identity file /home/host/.ssh/id_rsa type 1
debug1: identity file /home/host/.ssh/id_rsa-cert type -1
debug1: identity file /home/host/.ssh/id_dsa type -1
debug1: identity file /home/host/.ssh/id_dsa-cert type -1
debug1: identity file /home/host/.ssh/id_ecdsa type -1
debug1: identity file /home/host/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/host/.ssh/id_ed25519 type -1
debug1: identity file /home/host/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8 pat OpenSSH_6.6.1* compat 0x04000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA 16:00:b8:c5:89:af:e9:50:22:85:76:6d:65:1c:aa:b4
debug1: Host 'domain' is known and matches the ECDSA host key.
debug1: Found key in /home/host/.ssh/known_hosts:2
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/host/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/host/.ssh/id_dsa
debug1: Trying private key: /home/host/.ssh/id_ecdsa
debug1: Trying private key: /home/host/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

Eu segui esta 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. Criei um arquivo authorized_keys no computador host por ssh-copy-id [email protected] e copiei o arquivo authorized_keys para o servidor, alterei 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 à questão this . O problema é chamado de interferência do gnome-keyring. Quando tentei SSH_AUTH_SOCK=0 ssh user@domain , consegui fazer login no servidor usando a autenticação de chave pública. Obrigado a todos pela sua contribuição.

    
por lets_try 08.11.2017 / 08:42

1 resposta

2

Quando tentei ssh -i ~/.ssh/key_name user@domain , 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 .

Uma correção temporária é tentar SSH_AUTH_SOCK=0 ssh user@domain e se com isso você pode ssh em seu servidor, então siga com a correção no link acima.

    
por lets_try 09.11.2017 / 07:05