【问题标题】:is it safe to disable check for known_hosts when trying to connect to sftp server with JSch java尝试使用 JSch java 连接到 sftp 服务器时禁用对 known_hosts 的检查是否安全
【发布时间】:2020-03-04 09:16:27
【问题描述】:

我尝试连接到本地机器上的 sftp 服务器我使用命令 ssh 生成 knownHosts 文件 我像jsch.setKnownHosts(knownHosts);一样使用它 但我想在其他机器上运行我的工作希望我无法访问他的knownHosts 文件

所以我决定禁用此 rsa 密钥的检查,我不知道该操作是否安全 我将使用此行禁用它

session.setConfig("StrictHostKeyChecking", "no");

【问题讨论】:

  • 不,正如answer中提到的那样不安全

标签: java security ssh sftp


【解决方案1】:

问题本身有关于其安全性的评论,但我想补充一点,如果您不想将 StrictHostKeyChecking 设置为“否”,并且不想依赖 knownHosts 文件,我建议您:

1) 以兼容Jsch的方式生成主机指纹,请参考this question。您可以根据需要将生成的指纹输出到另一个文件或其他地方。

2) 然后您可以获取生成的值并将其存储为变量(环境变量、配置文件、属性等),以便您的应用程序可以使用它。您可以使用 setKnownHosts 方法将此指纹(不是文件路径)传递给 Jsch。

【讨论】:

  • 我的应用程序将在我无权生成此密钥的其他环境中运行的问题
  • 我明白了。您是否有一些网络限制阻止您访问目标服务器?如果没有限制,您应该能够生成指纹。如果是因为另一个问题,您可以在可以访问服务器的机器上生成指纹,并使用相同的生成值,即使您不在将使用的机器上生成指纹,它也应该可以正常工作它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-17
相关资源
最近更新 更多