SunSSH 上的公钥验证失败

SunSSH 上的公钥验证失败

我在 x86 上使用 OpenIndiana 151a,我想使用带有公钥认证的 ssh 连接到其他远程服务器,但失败了。

远程服务器的 sshd (OpenSSH) 已启用 ssh-2 协议。我的 OpenIndiana 中已安装 ssh 客户端。我可以使用密码验证连接到远程主机。

但是,当我尝试使用公钥认证进行连接时,收到以下错误消息。

    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: 

请注意,远程服务器的 sshd 已在使用公钥认证,我没有忘记将 id_rsa.pub 中的公钥字符串添加到远程服务器的 .ssh/authorized_keys。公钥认证在其他 OpenSSH 客户端中成功。

我认为这是 SunSSH 的问题。我发现这些问题仅出现在 OpenSolaris、OpenIndiana 和 Oracle Solaris 11 express 中。

有什么解决方案可以让我的 OpenIndiana 使用公钥认证吗?我不想换成 Linux 或 *BSD,因为我的办公室里还有一堆 Solaris 机器在运行。

希望这可以帮助:

    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%

答案1

根据我自己刚刚进行的一些测试,问题似乎出在密钥大小不是 2048 位的情况下。当我生成一个 2048 位(默认值)的新密钥时,一切都正常。

答案2

尝试传递-vvvssh阅读更详细的调试信息。

相关内容