X86でOpenIndiana151aを使用していて、公開鍵認証で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 11Expressでのみ発生することがわかりました。
OpenIndianaを公開鍵認証で機能させるためのソリューションはありますか?私のオフィスではまだたくさんのSolarisマシンが動作しているので、Linuxや* BSDに変更したくありません。
これが役立つことを願っています:
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%
私が自分で行ったいくつかのテストに基づくと、問題は2048ビット以外のサイズのキーにあるようです。 2048ビット(デフォルト)の新しいキーを生成したとき、すべてが正常に機能しました。
-vvv
をssh
に渡して、より詳細なデバッグ情報を読んでみてください。