我正在使用mac上的ssh-keygen生成的公钥/私钥设置SFTP将文件传送到服务器。我生成的私钥看起来与代码库中已有的其他私钥不同(它没有头,它是"OPENSSH private KEY“而不是"RSA private KEY”。
我的java FtpUtil抛出了invalid privatekey错误。
这是因为我生成的键在某种程度上没有正确格式化吗?有没有办法将这个私钥更改为使用头部?
代码库中的其他私钥如下所示:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,E26BE59A622AEDE6A899FE18AD369AA0
<key text>
-----END RSA PRIVATE KEY-----我的私钥是这样的:
-----BEGIN OPENSSH PRIVATE KEY-----
<key text>
-----END OPENSSH PRIVATE KEY-----我抛出了以下异常:
Caused by: com.jcraft.jsch.JSchException: invalid privatekey: [B@5c0f79f0
at com.jcraft.jsch.KeyPair.load(KeyPair.java:664)
at com.jcraft.jsch.IdentityFile.newInstance(IdentityFile.java:46)
at com.jcraft.jsch.JSch.addIdentity(JSch.java:442)
at org.springframework.integration.sftp.session.DefaultSftpSessionFactory.initJschSession(DefaultSftpSessionFactory.java:410)
at org.springframework.integration.sftp.session.DefaultSftpSessionFactory.getSession(DefaultSftpSessionFactory.java:385)
... 46 more发布于 2019-04-18 03:04:13
看起来这个私钥的格式确实不正确。也许更好的描述一下你是如何生成私钥的,以及它是如何在代码中被处理的?
无论如何,如果可能,您可以尝试使用以下命令生成加密的RSA私钥:
openssl genrsa -des3 -out private_key.pem 2048https://stackoverflow.com/questions/55733451
复制相似问题