我尝试连接到本地计算机中的 sftp 服务器,我使用命令 ssh 生成 knownHosts
文件
我像 jsch.setKnownHosts(knownHosts); 一样使用它
但我想在其他机器上运行我的工作,希望我无法访问他的 knownHosts
文件
所以我决定禁用此 rsa key 的检查,我不知道该操作是否安全 我将使用这一行来禁用它
session.setConfig("StrictHostKeyChecking", "no");
最佳答案
问题本身有关于其安全性的评论,但我想补充一点,如果您不想将 StrictHostKeyChecking 设置为“否”,并且不想依赖 knownHosts
文件,我建议您:
1)以兼容Jsch的方式生成主机指纹,请引用this question 。您可以根据需要将生成的指纹输出到另一个文件或其他位置。
2) 然后,您可以获取生成的值并将其存储为变量(环境变量、配置文件、属性等),以便您的应用程序可以使用它。您可以使用 setKnownHosts
方法将此指纹(不是文件路径)传递给 Jsch。
关于java - 尝试使用 JSch java 连接到 sftp 服务器时禁用对known_hosts的检查是否安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60297655/