当前位置:   article > 正文

com.jcraft.jsch.JSchException: invalid privatekey: [B@7b98f307

com.jcraft.jsch.jschexception: invalid privatekey

错误如图:

 主要原因是生成密钥的时候使用的openssh版本过高导致,其生成的密钥类似如下,而jsch版本低,解析不了高版本的openssh生成的秘钥。

查看秘钥一般存储位置系统盘用户目录下,如:C:\Users\tt\.ssh\id_rsa

 解决思路:

1、提高jsch版本

升级jsch为最新版本版本,在mvn仓库中查找:https://mvnrepository.com/artifact/com.jcraft/jsch

 <!-- https://mvnrepository.com/artifact/com.jcraft/jsch -->
<dependency>
    <groupId>com.jcraft</groupId>
    <artifactId>jsch</artifactId>
    <version>0.1.55</version>
</dependency>

 或者使用:

  1. <dependency>
  2. <groupId>com.github.mwiede</groupId>
  3. <artifactId>jsch</artifactId>
  4. <version>0.2.9</version>
  5. </dependency>

2、重新生成经典秘钥

低于OpenSSH 7.8版本:

ssh-keygen -t rsa

OpenSSH 7.8及更高版本:

ssh-keygen -t rsa -m PEM

Enter passphrase:输入秘钥的密码,如果不用加密,直接按Enter键

或者使用:

ssh-keygen -p -f file -m pem -P passphrase -N passphrase

需要更改的地方,file:id_rsa的绝对路径;passphrase:秘钥的密码

如果密钥未使用密码加密,请使用""代替passphrase

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/665165
推荐阅读
相关标签
  

闽ICP备14008679号