【问题标题】:JSch with encrypted putty private (ppk) for authentation用于身份验证的带有加密腻子私有 (ppk) 的 JSch
【发布时间】:2021-06-30 19:34:51
【问题描述】:

我一直被困在通过 Java JSch 获取 SFTP 身份验证。

如果 ppk 未加密,则以下代码 sn-p 有效:

    jsch.addIdentity(username, certificateBytes , null, null);

但是,ppk 是加密的。我试图将密钥的密码传递给jsch:

    jsch.addIdentity(username, certificateBytes , null, "password");

它不起作用,因为 jsch 似乎不支持解密 ppk。我想知道如何在Java中解密加密的ppk?

谢谢

【问题讨论】:

  • “不起作用” 不能作为问题描述。您遇到了什么具体问题?

标签: java encryption ssh key sftp


【解决方案1】:

JSch 支持加密的 .ppk 密钥文件。

但它仅支持 .ppk 格式的第 2 版。也许您的加密 .ppk 文件位于新版本 3 中,该版本由 PuTTYgen 0.75 生成。这样的键开头是这样的:

PuTTY-User-Key-File-3: ssh-rsa
Encryption: aes256-cbc
...

如果是这种情况,您将不得不使用 PuTTYgen 将密钥转换为版本 2。

【讨论】:

  • 谢谢,是的,它是version2。这是提供密码的正确方法吗? jsch.addIdentity(username, certificateBytes , null, "password"); 不知道为什么它显示无效的私钥错误工作。谢谢
  • 您能否生成一个有同样问题的新测试密钥,并与我们分享?
猜你喜欢
  • 1970-01-01
  • 2015-01-16
  • 2022-11-29
  • 2022-12-16
  • 2018-12-29
  • 2020-10-11
  • 2021-12-20
  • 2010-11-04
  • 2017-08-27
相关资源
最近更新 更多