在进行sftp连接的时候 jsch 读取私钥出错。
com.jcraft.jsch.JSchException: invalid privatekey: [B@6f4327ab
at com.jcraft.jsch.KeyPair.load(KeyPair.java:664)
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:406)
at com.jcraft.jsch.JSch.addIdentity(JSch.java:366)
...
invalid privatekey 这是由于密钥对是高版本的openssh8创建的,jsch不支持,更换最新版本也不行。可以使用puttygen工具将其转为低版本的密钥形式,不必重新生成密钥对。
openssh8生成的密钥的开头是
-----BEGIN OPENSSH PRIVATE KEY-----
低版本的密钥开头是
-----BEGIN RSA PRIVATE KEY-----