sshj ライブラリを使用して、ssh 経由で Java からリモート ホストに接続しています。そのために、ホストの検証中に使用される単一のフィンガープリントを構成しました。
しばらくすると、ランダムなホスト キー検証エラーが発生し始めました。複数の ssh 接続のうち、一部のみが失敗する
Disconnecting because none of the configured Host key verifiers ([net.schmizz.sshj.transport.verification.FingerprintVerifier$1@1696cbbf]) could verify 'ssh-ed25519' host key with fingerprint ... for ...
私が理解している限り、これは、ホストが異なるアルゴリズム ( ssh-rsa
、ssh-ed25519
、ecdsa-sha2-nistp256
) 用に構成された複数のキーを持っているためです。
- ここでの正しいアプローチは何ですか?既知のキーごとに1つずつ、複数のベリファイアを追加する必要がありますか?
- なぜランダムなのですか?使用されている鍵を選択するために ssh/sshj が使用する方法は?