当前位置: 首页 > 知识库问答 >
问题:

jsch:在尝试连接之前检查私钥文件密码

司空和悌
2023-03-14

对于一个非常简单的应用程序,它主要依赖于通过JSch建立的ssh连接,我想在登录屏幕上询问密码短语,尝试解密私钥,如果错误,返回登录窗口。

我找不到方法来发现

jsch.addIdentity(keyfile, prvkey, pubkey, passphrase);

在尝试建立任何会话之前,是否有任何方法可以检测密码短语是否正确?

谢谢你。

共有1个答案

马泰
2023-03-14

您可以使用KeyPair类来满足您的需求,

KeyPair kpair = KeyPair.load(jsch, prvkey, pubkey);
System.out.println(kpair.decrypt(passphrase));
 类似资料:
  • 我使用NetBeans7.2运行JDK1.7和Windows7,我使用putty-keygen生成了一个SSH私钥和公钥对(SSH2-2048位)。我没有任何私钥密码。我现在正尝试使用SFTP连接到其中一台主机。但是当我传递私钥(ppk)来设置身份时,代码返回无效私钥错误。我在WinSCP中使用了相同的私钥来连接到相同的主机&它工作得很好。请帮助我解决这个错误。下面是我的代码:

  • ----开始RSA私钥----- 私钥在这里 ----结束RSA私钥----- 如何使用privateKeyPEM字节对象?我想将它与jsch.addIdEntity()一起使用 但我真的不明白如何使用这个byte[]privateKeyPEM变量来设置标识? 这里是我的JSch部分的一个示例:

  • 问题内容: 我正在使用netbeans 7.2运行JDK 1.7和Windows 7,我已经使用putty- keygen生成了SSH私钥和公钥对(SSH2-2048位)。我没有私钥密码。我现在正在尝试使用SFTP连接到主机之一。但是,当我通过私钥(ppk)设置身份时,代码将返回无效的私钥错误。我在WinSCP中使用了相同的私钥来连接到相同的主机,并且工作正常。请帮助我解决错误。这是我的代码: 问

  • 我试图连接到localhost使用ssh键,但我仍然得到"Auth失败"错误。 以下是方法实现: 我使用linux终端创建了我的公钥/私钥对,如下所示: 我没有说任何短语。下一步: 最后 然后当我运行我的程序时,我得到一个错误: 有什么想法吗?我的密钥是OpenSSH类型,从行开始 "-----开始RSA私人密钥-----"

  • 问题内容: 我正在使用以下代码在Java应用程序中使用Git。我有一个有效的密钥(一直使用),并且之前使用相同的密钥和git存储库,此特定代码对我有用,但是现在出现以下异常: 无效的私钥:[B @ 59c40796。 在这一行: 我的完整代码: 在线搜索后,我将createDefaultJSch更改为使用pemWriter: 但是仍然会收到 “无效的私钥” 异常。 问题答案: 我也偶然发现了这个问

  • 我想在静态编程语言中使用JSch通过SSH连接到我的OpenWRT路由器,带有SSL密钥。OpenWRT支持用ssh-keygen(https://openwrt.org/docs/guide-user/security/dropbear.public-key.auth)生成的密钥。 这将生成一个公共id_rsa。pub和private id_rsa密钥。OpenWRT接受这个id_rsa。酒吧我