我的问题类似于这里问的问题: Ant scp task failure
构建失败 com.jcraft.jsch.JSchException: 拒绝 HostKey: ....
我的问题是为什么在我的 knownhosts 文件中找不到密钥?
无论我拥有什么样的 known_hosts 文件,主机密钥都会被拒绝。通过 ssh 连接可以正常工作,并添加相关条目,但可能jsch
无法读取known_hosts
OpenSSH 生成的文件?
Ant 文档提到 knownhosts 文件需要是 SSH2 格式,而不是 SSH1。具有讽刺意味的是,来自 OpenSSH 的 SSH2 格式 known_hosts 文件应该是~/.ssh/known_hosts2
,但 knownhosts 的默认值是~/.ssh/known_hosts
.
由 SSH2 创建的已知主机文件位于 中~/.ssh2/knownhosts/
,因此将其排除在预期格式之外可能是安全的。到目前为止,我一直无法让 OpenSSH 创建known_hosts2
文件,并且手册页在那里也没有太大帮助。那么文档实际上意味着文件需要采用 SSH2 格式是什么意思?
我已经尝试过dsa
密钥rsa
,但都不起作用(都可以使用 OpenSSH)。
我已经搜索了两天,我找到的唯一答案是' set trust="true
'。是的,这可以使任务发挥作用,但并非对安全性视而不见。