赞
踩
错误如图:
主要原因是生成密钥的时候使用的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>
或者使用:
- <dependency>
- <groupId>com.github.mwiede</groupId>
- <artifactId>jsch</artifactId>
- <version>0.2.9</version>
- </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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。