0
jsch私はaddIdentity()
を呼び出して秘密鍵を追加し、getSession()
を呼び出してSSHトンネルを開きます。jschでSSHトンネルを開くときに秘密鍵が無効になる
このコードをWindowsマシンでローカルに実行すると、トンネルのオープンが機能しています。当社のCIで同じ秘密鍵と同じコード次のエラーが発生したことを実行しているときに
は、しかし:エラーの可能性があり何
PuTTY-User-Key-File-2: ssh-rsa
Encryption: none
Comment: imported-openssh-key
Public-Lines: 6
XXXXXXXXXXXXXXXXXXX
Private-Lines: 14
XXXXXXXXXXXXXXXXXX
Private-MAC: XXXXXXXXXXXXXXXX
:
2016-12-07 01:01:32 ERROR SSHConnector:25 - invalid privatekey: [[email protected]
com.jcraft.jsch.JSchException: invalid privatekey: [[email protected]
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)
秘密鍵は次のようになりますここに?
少なくとも0.1.53(これは削除されるとは思えませんが)PPK(OpenSSL PEMs =非newfmt OpenSSHといくつかの他)に加えて** WindowsタイプのEOL **(CR LF)。ハロルド:エディタやFTP TYPE Aに貼り付けるなど、EOLを変更できる方法でPPKを影響を受けるシステムにコピーしましたか? –
jschは実際にPPKファイルをサポートしていますが、@ dave_thompson_085が指摘するように、CRLFでマークされた行末を持つ必要があります。 Dave、あなたのコメントを答えに変換してください。正しいものとしてチェックしてください。 –