Com base em alguns testes que fiz sozinho, o problema parece ser chaves com tamanhos diferentes de 2048 bits. Quando eu gerava uma nova chave que era 2048 bits (o padrão), tudo funcionou muito bem.
Estou usando o OpenIndiana 151a no x86 e quero me conectar a outros servidores remotos usando ssh com autenticação de chave pública, mas ele falha.
O sshd (OpenSSH) do servidor remoto é ativado com o protocolo ssh-2. Eu já tenho o cliente ssh instalado no meu OpenIndiana. Eu posso conectar ao host remoto usando autenticação de senha.
No entanto, quando tento conectar usando a autenticação de chave pública, recebo a seguinte mensagem de erro.
openindiana% ssh user@host
ssh_rsa_sign: RSA_sign failed:
error:8006B076:lib(128):PK11_GET_PRIV_RSA_KEY:C_CreateObject failed
user@host's password:
Note que o sshd do servidor remoto já está trabalhando com autenticação de chave pública, não esqueci de adicionar minha cadeia de caracteres de chave pública dentro de id_rsa.pub às chaves do servidor remoto .ssh / authorized_keys. A autenticação de chave pública é bem-sucedida em outros clientes OpenSSH.
Esse, eu acho, é o problema do SunSSH. Descobri que esses problemas ocorrem apenas no OpenSolaris, OpenIndiana e Oracle Solaris 11 express.
Existe alguma solução para fazer meu OpenIndiana trabalhar com autenticação de chave pública? Eu não quero mudar para Linux ou * BSD porque há um monte de máquinas Solaris ainda trabalhando no meu escritório.
Espero que isso possa ajudar:
openindiana% uname -a
SunOS s2 5.11 oi_151a i86pc i386 i86pc
openindiana% ssh -V
Sun_SSH_1.5, SSH protocols 1.5/2.0, OpenSSL 0x009080ff
openindiana%
Com base em alguns testes que fiz sozinho, o problema parece ser chaves com tamanhos diferentes de 2048 bits. Quando eu gerava uma nova chave que era 2048 bits (o padrão), tudo funcionou muito bem.
Tente passar -vvv
para ssh
e leia informações de depuração mais detalhadas.
Tags ssh solaris opensolaris openindiana