我使用JSch用私钥对FTP文件
- jsch.addIdentity(privatekeyfile);
- 会话会话= jsch.getSession( “用户”, “domain.com”,22);
- session.setConfig( “StrictHostKeyChecking”, “否”);
3号线是有问题。 如果没有这一行,JSch不起作用。
我的问题是:第3行化妆SFTP传输不安全?
我使用JSch用私钥对FTP文件
3号线是有问题。 如果没有这一行,JSch不起作用。
我的问题是:第3行化妆SFTP传输不安全?
禁用StrictHostKeyChecking
选项将使连接比具有启用选项,因为它可以让你连接到远程服务器,而无需验证他们的SSH主机密钥的安全性较低。 如果启用该选项,你将只能连接到哪个键是众所周知的SSH客户端的服务器。
你将不得不决定是什么意思为您的特定使用案例 - 你连接的是私人的,本地网络上的服务器或你连接在互联网上? 这是一个测试或生产环境?
如果有疑问,最好是犯错更安全的一面。 我建议使StricktHostKeyChecking
以及使用该setKnownHosts
方法提供一种包含远程主机密钥的文件。
是的,它将使连接(和转移)是不安全的。 特别是,它使开放的连接人在这方面的中间人攻击 。
你永远不应该设置StrictHostKeyChecking
到no
,除非你不关心安全性(例如专用网络连接中时)。
这是不正确的,“如果没有这一行,JSch不起作用”。 你必须让你的代码接受预期的服务器的主机密钥。 无论是通过setKnownHosts
或setHostKeyRepository
方法。
举例来说,看到如何解决Java的UnknownHostKey,同时使用JSch SFTP库?
你可以阅读我的文章验证主机密钥来了解它的重要性。 这是关于WinSCP赋予SSH / SFTP客户端,但它通常是真实的任何SSH客户端/库。