Java SFTP UnknownHostKeyException 的错误处理
将 Java SFTP 与 JSch 库结合使用时,您可能会遇到 UnknownHostKey 异常。出现此错误是由于主机密钥信息不匹配。解决方法包括跳过主机密钥检查或设置预期的主机密钥进行验证。
跳过主机密钥检查(不推荐)
避免通过以下方式禁用主机密钥检查在连接到会话之前将“StrictHostKeyChecking”设置为“no”。这种方法会损害安全性,只能用于受信任的连接。
设置预期的主机密钥
为了确保安全连接,必须根据主机密钥验证主机密钥预期值。有两种方法可以实现此目的:
已知主机文件:
a.使用“ssh-keyscan”命令生成“known_hosts-like”文件(例如,ssh-keyscan example.com >known_hosts)。
b。将 JSch 设置为使用已知主机文件: JSch.setKnownHosts("/path/to/known_hosts-like").
硬编码主机密钥:
a.以与 JSch.getHostKeyRepository().add().
兼容的格式获取预期的主机密钥。将主机密钥添加到存储库: JSch.getHostKeyRepository().add(host, ExpectedHostKey).
通过设置已知或硬编码的主机密钥,JSch 将根据期望值并建立安全连接。
以上是如何处理Java SFTP的UnknownHostKeyException?的详细内容。更多信息请关注PHP中文网其他相关文章!