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:
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.
Copiou as chaves para o servidor usando ssh-copy-id <username>@<Host>
Editado o arquivo/etc/ssh/sshd_config para adicionar a linha PasswordAuthentication no
.
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:
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
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.
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.