Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带头的RSA私钥和OPENSSH私钥之间有什么区别?_Java_Ssh_Sftp - Fatal编程技术网

Java 带头的RSA私钥和OPENSSH私钥之间有什么区别?

Java 带头的RSA私钥和OPENSSH私钥之间有什么区别?,java,ssh,sftp,Java,Ssh,Sftp,我正在使用mac上ssh keygen生成的公钥/私钥设置文件到服务器的SFTP传递。我生成的私钥看起来与代码库中已有的其他私钥不同(它没有头,是“OPENSSH私钥”,而不是“RSA私钥”) 我的java FtpUtil抛出了无效的privatekey错误 这是因为我生成的密钥没有以某种方式正确格式化吗?有没有办法将此私钥更改为使用头 这是代码库中其他私钥的外观: -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info:

我正在使用mac上ssh keygen生成的公钥/私钥设置文件到服务器的SFTP传递。我生成的私钥看起来与代码库中已有的其他私钥不同(它没有头,是“OPENSSH私钥”,而不是“RSA私钥”)

我的java FtpUtil抛出了
无效的privatekey
错误

这是因为我生成的密钥没有以某种方式正确格式化吗?有没有办法将此私钥更改为使用头

这是代码库中其他私钥的外观:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,E26BE59A622AEDE6A899FE18AD369AA0

<key text>

-----END RSA PRIVATE KEY-----

看起来这个私钥的格式确实不正确。 也许最好描述一下您是如何生成私钥的,以及它是如何在代码中处理的

无论如何,如果可能,您可以尝试使用以下方法生成加密的RSA私钥:

openssl genrsa -des3 -out private_key.pem 2048
欺骗和(部分地)
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

openssl genrsa -des3 -out private_key.pem 2048