Estou executando um servidor com o Debian Linux 3.2.46-1 + deb7u1 com o OpenSSH Server 6.0 e assegurei o login com uma chave RSA de 2048 bits.
Embora a conexão com o OpenSSH Client de outra máquina seja bem-sucedida, a conexão é recusada ao usar o Putty 0.63 em uma máquina com Windows 7 com a seguinte mensagem:
Server refused public-key signature despite accepting key!
Como o problema se aplica apenas ao Putty, acho que toda a configuração do servidor está correta. Putty funciona bem quando rodando o servidor com o Debian 2.6.32 e OpenSSH 5.5.
Aqui está o conteúdo do auth.log:
matching key found: file /root/.ssh/authorized_keys, line 2
Oct 8 14:53:43 serverx sshd[28964]: Found matching RSA key: XX:XX
Oct 8 14:53:43 serverx sshd[28964]: debug1: restore_uid: 0/0
Oct 8 14:53:43 serverx sshd[28964]: debug3: mm_answer_keyallowed: key 0x7fb3828774c0 is allowed
Oct 8 14:53:43 serverx sshd[28964]: debug3: mm_request_send entering: type 22
Oct 8 14:53:43 serverx sshd[28964]: debug3: mm_key_verify entering [preauth]
Oct 8 14:53:43 serverx sshd[28964]: debug3: mm_request_send entering: type 23 [preauth]
Oct 8 14:53:43 serverx sshd[28964]: debug3: mm_key_verify: waiting for MONITOR_ANS_KEYVERIFY [preauth]
Oct 8 14:53:43 serverx sshd[28964]: debug3: mm_request_receive_expect entering: type 24 [preauth]
Oct 8 14:53:43 serverx sshd[28964]: debug3: mm_request_receive entering [preauth]
Oct 8 14:53:43 serverx sshd[28964]: debug3: mm_request_receive entering
Oct 8 14:53:43 serverx sshd[28964]: debug3: monitor_read: checking request 23
Oct 8 14:53:43 serverx sshd[28964]: error: hash mismatch
Oct 8 14:53:43 serverx sshd[28964]: debug1: ssh_rsa_verify: signature incorrect
Oct 8 14:53:43 serverx sshd[28964]: debug3: mm_answer_keyverify: key 0x7fb382871f80 signature unverified
Oct 8 14:53:43 serverx sshd[28964]: debug3: mm_request_send entering: type 24
Depois que isso acontece, o servidor alterna para a senha auth e consigo fazer o login.
Eu já tentei limpar o Puttys known_hosts do Registro do Windows, embora eu ache que o erro é sobre a chave pública da chave privada, não a do host do servidor.
Minha pergunta: Alguém que sabe o que está dando errado ou o que mudou no OpenSSH de 5.5 para 6.0 pode causar isso? Alguma sugestão para uma correção?