当尝试使用JSch-java连接到sftp服务器时,禁用对known_hosts的检查是否安全



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

所以我决定禁用对这个rsa密钥的检查,我不知道这个操作是否安全我将使用这条线路禁用

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

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

1( 以与Jsch兼容的方式生成主机指纹,请参阅此问题。您可以根据需要将生成的指纹输出到另一个文件或其他位置。

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

最新更新