java - 在 JCraft JSch 中共享私钥安全吗

标签 java sftp jsch

在基于 JCraft 的 SFTP 通信中,我的项目使用 JSch 库建立。它运行良好,但我的疑问是为什么我们必须像下面这样共享私钥?

JSch jsch=new JSch();
jsch.addIdentity(ex. ~/.ssh/id_dsa);

我知道当通信发生时,客户端必须产生公钥,但在这里我们共享客户端的私钥。请帮助我,在这里共享私钥是否有风险。

最佳答案

不,向 JSch 提供您的私钥没有风险。

为了使非对称加密发挥作用,您必须使用私钥。 在这种情况下,JSch 正在为您完成这项工作,但它不会将其发送给任何人,它只是用它来解密您收到的数据,并加密您发送的数据。

不信任你能找到的每个库是一件好事。事实上,JSch 可以将您的私钥和所有其他凭据发送到某个服务器。开源的好处:you can take a look如果 JSch 做出这种事! (但请注意,源代码的文档记录很差且编写得不好,因此可能需要一些时间才能亲自查看)

据我所知,事实并非如此,而且我想如果是的话,它也不会成为 Java 中 SSH 的事实上的标准。

关于java - 在 JCraft JSch 中共享私钥安全吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30937088/

相关文章:

java - 如何连接线程被销毁的那一刻

linux - 获取SFTP错误的命令

linux - "ASCII"模式下的SFTP上传

java - ...hbm.xml 文件在哪里?

java - Android 锁屏应用程序按钮悬停和序列

PHP SFTP 简单文件上传

java - Android JSch - 包 org.ietf.jgss 不存在

java - 使用 JSch setCommand 执行时,带有源选项的 Shell ping 命令失败

java - 有没有办法让 maven scp wagon 在 linux/mac/windows 平台上一致工作?

java - 检查两个时间点是否在不同的相邻日期