【发布时间】:2016-12-07 10:00:06
【问题描述】:
使用JSch,我调用addIdentity() 添加私钥并调用getSession() 打开SSH 隧道。
在我的 Windows 机器上本地运行此代码时,隧道的打开工作正常。
但是,在我们的 CI 上使用相同的私钥运行相同的代码时,会发生以下错误:
2016-12-07 01:01:32 ERROR SSHConnector:25 - invalid privatekey: [B@4bb4de6a
com.jcraft.jsch.JSchException: invalid privatekey: [B@4bb4de6a
at com.jcraft.jsch.KeyPair.load(KeyPair.java:747)
at com.jcraft.jsch.KeyPair.load(KeyPair.java:561)
at com.jcraft.jsch.IdentityFile.newInstance(IdentityFile.java:40)
at com.jcraft.jsch.JSch.addIdentity(JSch.java:408)
at com.jcraft.jsch.JSch.addIdentity(JSch.java:389)
私钥看起来像这样:
PuTTY-User-Key-File-2: ssh-rsa
Encryption: none
Comment: imported-openssh-key
Public-Lines: 6
XXXXXXXXXXXXXXXXXXX
Private-Lines: 14
XXXXXXXXXXXXXXXXXX
Private-MAC: XXXXXXXXXXXXXXXX
这可能是什么错误?
【问题讨论】:
-
已经两年了。问:你能“接受”其中一个回复吗?随意编辑回复,或添加您自己的回复。
-
@paulsm4 老实说,我不记得正确答案是什么——如果有的话。
标签: java ssh public-key-encryption jsch private-key