使用“ SSH2 PUBLIC KEY”格式的公共密钥验证JSch中的主机密钥(RFC 4716)

时间:2019-04-17 19:11:57

标签: java ssh jsch

尝试使用以下方法验证主机密钥时,我遇到UnknownHostKey: servername的问题:

jsch.setKnownHosts("target/hostname_keys");

是否可以使用看起来像这样的SSH2格式的主机密钥文件

---- BEGIN SSH2 PUBLIC KEY ----
AAAAB3NzaC1kc3MAAACBAKKQ7hwq7
.....
w5Uw==
---- END SSH2 PUBLIC KEY ----

使用JSch?

是否有一些可以使用SSH2密钥的良好库?

1 个答案:

答案 0 :(得分:2)

JSch不支持这种格式的公共密钥。

但是将其转换为known_hosts格式很容易。

基本上,只需将两行合并为一个并添加一个主机名即可:

example.com AAAAB3NzaC1kc3MAAACBAKKQ7hwq7...w5Uw==