我尝试连接到本地机器中的sftp服务器,并使用命令ssh生成knownHosts
文件我像jsch.setKnownHosts(knownHosts);
一样使用它但我想在其他机器上运行我的工作,希望我不能访问他的knownHosts
文件
所以我决定禁用对这个rsa密钥的检查,我不知道这个操作是否安全我将使用这条线路禁用
session.setConfig("StrictHostKeyChecking", "no");
这个问题本身有一个关于其安全性的评论,但我想补充一点,如果您不想将StrictHostKeyChecking设置为"否",并且不想依赖knownHosts
文件,我建议您:
1( 以与Jsch兼容的方式生成主机指纹,请参阅此问题。您可以根据需要将生成的指纹输出到另一个文件或其他位置。
2( 然后,您可以获取生成的值并将其存储为变量(环境变量、配置文件、属性等(,以便应用程序可以使用它。您可以使用setKnownHosts
方法将此指纹(而不是文件路径(传递给Jsch。