1

Java アプリケーションで OpenSSH ホスト キーをプログラムで生成しようとしましたが、OpenSSH v1 キー形式で有効な Ed25519 キーを取得できません。私の現在の考えでは、OpenSSHPrivateKeyUtil に問題があると考えていますが、それを確認する方法がわかりません。これが私の現在の試みです:

import org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters;
import org.bouncycastle.crypto.util.OpenSSHPrivateKeyUtil;

import java.util.Base64;

...

Ed25519PrivateKeyParamters keyParamters = new Ed25519PrivateKeyParamters(new SecureRandom());
byte[] encodedPrivateKey = OpenSSHPrivateKeyUtil.encodePrivateKey(keyParameters);
System.out.println(Base64.getEncoder().encodeToString(encodedPrivateKey));

出力は私が期待しているもののように見えますが (ssh-keygen -t ed25519 の結果に似ています)、結果を /etc/ssh/sshd_host_ed25519_key (および対応する公開鍵を /etc/ssh/sshd_host_ed25519_key に入れると) に入れます.pub)、/var/log/messages の sshd から次のエラーが表示されます。

auth.err: error: Could not load host key: /etc/ssh/sshd_host_ed25519_key

私は以下を使用しています:

  • セントス7.6
  • ジャバ 1.8.0_212
  • openssh 7.4p1-16.e17
  • バウンシーキャッスル 1.63

どんな助けでも感謝します、ありがとう。

4

0 に答える 0