Tenho notado problemas que tenho tido que empurrar código para o gitlab de um amigo. Se a chave rsa especificada para uso pelo ssh for criptografada com uma senha, o ssh falhará ao solicitar a senha e, subsequentemente, falhará na autenticação com a chave privada.
Eu tentei gerar chaves rsa por padrão com uma senha e com as opções
ssh-keygen -t rsa -b 4096 -o -a 100
também, sem alteração.
Eu tentei hospedar o sshd em meu próprio sistema, configurando a chave para meu próprio usuário (copiei o .pub para authorized_keys), com os mesmos resultados, estranhamente. As permissões para a chave não parecem ser um problema.
Estou executando o ArchLinux 64 bit com um kernel Linux não modificado.
Aqui está o log de uma amostra ssh -i test -p 9988 -vt 127.0.0.1
em meu próprio sistema com o sshd sendo executado com a maioria das configurações padrão (senhas desativadas, somente autenticação de chave pública permitida, porta configurada como 9988). A chave é gerada com configurações padrão e uma senha de criptografia é definida.
OpenSSH_6.8p1, OpenSSL 1.0.2c 12 Jun 2015
debug1: Reading configuration data /home/stephen/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 127.0.0.1 [127.0.0.1] port 9988.
debug1: Connection established.
debug1: identity file test type 1
debug1: key_load_public: No such file or directory
debug1: identity file test-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.8
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.8
debug1: match: OpenSSH_6.8 pat OpenSSH* 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: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:jNykvy5o5p79HUka+BWOqLoMqB0oo90fupUT18ERxMA
debug1: Host '[127.0.0.1]:9988' is known and matches the ECDSA host key.
debug1: Found key in /home/stephen/.ssh/known_hosts:2
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
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: test
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Offering RSA public key: stephen@ArchDynamo
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
EDIT: Eu recentemente empurrei para o gitlab do meu amigo e percebi que isso foi feito sem solicitar a senha da chave. Isso significa que meu ssh-keygen está quebrado de alguma forma?
Tags ssh