I'm using OpenIndiana 151a on x86 and I want to connect to other remote servers using ssh with public key authentication, but it fails.

The remote server's sshd (OpenSSH) is enabled with ssh-2 protocol. I already have ssh client installed in my OpenIndiana. I can connect to remote host using password authentication.

However, when I try to connect using public key authentication, I get the following error message.

    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 that the remote server's sshd is already working with public key authentication, I didn't forget to add my public key string inside id_rsa.pub to the remote server's .ssh/authorized_keys. Public key authentication succeeds in other OpenSSH clients.

This, I think, is SunSSH's problem. I found out that these problems occur only in OpenSolaris, OpenIndiana and Oracle Solaris 11 express.

Are there any solutions to make my OpenIndiana work with public key authentication? I don't want to change to Linux or *BSD because there are a bunch of Solaris machines still working in my office.

Hope this may help :

    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

Based on some testing I just did myself, the problem appears to be keys with sizes other than 2048 bits. When I generated a new key that was 2048 bits (the default), everything worked just fine.

  • I can confirm this, except it seems keys up to 4096 bits are fine (4097 bits fails). – Ole Tange Oct 5 '13 at 21:20

Try passing -vvv to ssh and read more detailed debug information.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.