Upp*_*rla 6 openssl ssh-keygen
当我尝试使用opensslSSH2 RSA
将基于格式的私钥转换为格式时,出现以下错误。.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
Run Code Online (Sandbox Code Playgroud)
我的私钥:
[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 ----
Run Code Online (Sandbox Code Playgroud)
如果有其他方法可以使用openssl或ssh-keygen-g3来完成此操作,请建议我
EDIT1:尝试了以下选项,仍然是同样的问题
[jbadmin@x01bicallapp1a .ssh2]$ openssl rsa -outform PEM -in /home/jbadmin/.ssh2/id_rsa_2048_a -out /home/jbadmin/.ssh2/id_rsa_2048_a.pem
unable to load Private Key
140493432293192:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: ANY PRIVATE KEY
Run Code Online (Sandbox Code Playgroud)
ssh-keygen -p
可以在 SSH2 和 PEM 格式之间进行转换:
-m key_format\n Specify a key format for key generation, the -i (import),\n -e (export) conversion options, and the -p change\n passphrase operation. The latter may be used to convert\n between OpenSSH private key and PEM private key formats.\n The supported key formats are: \xe2\x80\x9cRFC4716\xe2\x80\x9d (RFC 4716/SSH2\n public or private key), \xe2\x80\x9cPKCS8\xe2\x80\x9d (PKCS8 public or private\n key) or \xe2\x80\x9cPEM\xe2\x80\x9d (PEM public key). By default OpenSSH will\n write newly-generated private keys in its own format, but\n when converting public keys for export the default format\n is \xe2\x80\x9cRFC4716\xe2\x80\x9d. Setting a format of \xe2\x80\x9cPEM\xe2\x80\x9d when generating or\n updating a supported private key type will cause the key to\n be stored in the legacy PEM private key format.\n
Run Code Online (Sandbox Code Playgroud)\n从 SSH2 到 PEM:
\nssh-keygen -p -f id_rsa -m PEM\n
Run Code Online (Sandbox Code Playgroud)\n从 PEM 到 SSH2:
\nssh-keygen -p -f id_rsa -m SSH2\n
Run Code Online (Sandbox Code Playgroud)\n警告:指定的文件被覆盖并就地更新!
\n注意:虽然ssh-keygen-g3
链接到商业产品,但ssh-keygen
它是更常见的开源对应产品。您可以在您的系统上免费获取它,它适用于 Linux、Windows、FreeBSD 和 PASE 等。如果您愿意,您可以在具有该转换的系统上执行转换:毕竟 SSH2/PEM 密钥只是纯文本文件,只需小心不要将它们遗漏即可。
解决方案:我使用以下命令使其工作
$ ssh-keygen-g3 --key-format openssh2 --import-private-key /home/jbadmin/.ssh2/id_rsa_2048_a /home/jbadmin/.ssh2/id_rsa_2048_a_openssh.pem
Imported private key in /home/jbadmin/.ssh2/id_rsa_2048_a to /home/jbadmin/.ssh2/id_rsa_2048_a_openssh.pem.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18981 次 |
最近记录: |