Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
Unix 使用openssl将SSH2 RSA私钥转换为.pem_Unix_Ssh_Openssl_Rsa_Pem - Fatal编程技术网

Unix 使用openssl将SSH2 RSA私钥转换为.pem

Unix 使用openssl将SSH2 RSA私钥转换为.pem,unix,ssh,openssl,rsa,pem,Unix,Ssh,Openssl,Rsa,Pem,我正在尝试使用连接到远程服务器 当我运行上面的代码时,我得到以下异常 java.io.IOException: Publickey authentication failed. at ch.ethz.ssh2.auth.AuthenticationManager.authenticatePublicKey(AuthenticationManager.java:331) at ch.ethz.ssh2.Connection.authenticateWithPublicKey(Connection.

我正在尝试使用连接到远程服务器

当我运行上面的代码时,我得到以下异常

java.io.IOException: Publickey authentication failed.
at ch.ethz.ssh2.auth.AuthenticationManager.authenticatePublicKey(AuthenticationManager.java:331)
at ch.ethz.ssh2.Connection.authenticateWithPublicKey(Connection.java:499)
at ch.ethz.ssh2.Connection.authenticateWithPublicKey(Connection.java:546)

Caused by: java.io.IOException: Invalid PEM structure, '-----BEGIN...' missing
at ch.ethz.ssh2.crypto.PEMDecoder.parsePEM(PEMDecoder.java:141)
at ch.ethz.ssh2.crypto.PEMDecoder.decode(PEMDecoder.java:321)
at ch.ethz.ssh2.auth.AuthenticationManager.authenticatePublicKey(AuthenticationManager.java:240)
仔细阅读api文档后,我知道允许的密钥格式是
.pem

当我尝试将基于格式的私钥转换为
.pem
格式时,我得到以下错误

[jbadmin@xxxxxxx .ssh2]$ openssl req -x509 -key /home/jbadmin/.ssh2/id_rsa_2048_a -nodes -days 365 -newkey rsa:2048 -out id_rsa_2048_a.pem
unable to load Private Key
139994671441736:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: ANY PRIVATE KEY
我的私钥:

[jbadmin@xxxxxx.ssh2]$ cat id_rsa_2048_a
---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----
Subject: jbadmin
Comment: "2048-bit rsa, jbadmin@x01bicallapp1a, Tue Dec 29 2015 11:38:\
----------------------------
----------------------------
---- END SSH2 ENCRYPTED PRIVATE KEY ----

请建议我是否有任何其他方法使用或

Stack Overflow是一个用于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。另请参阅。编辑的问题和一些详细信息。我看到ssh-keygen-g3是商业ssh包的一部分。您的基本问题可能是,它生成的密钥格式仅受Tectia支持。尝试使用OpenSSH附带的
ssh-keygen
程序。特别是如果您有SSH2格式的密钥,请使用
ssh-keygen
-i
(导入)选项,如手册页所述。不幸的是,
puttygen
ssh-keygen
选项在我们的服务器上不可用。
[jbadmin@xxxxxx.ssh2]$ cat id_rsa_2048_a
---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----
Subject: jbadmin
Comment: "2048-bit rsa, jbadmin@x01bicallapp1a, Tue Dec 29 2015 11:38:\
----------------------------
----------------------------
---- END SSH2 ENCRYPTED PRIVATE KEY ----