![openssl을 사용하여 SSH2 RSA 개인 키를 .pem으로 변환](https://linux55.com/image/80639/openssl%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20SSH2%20RSA%20%EA%B0%9C%EC%9D%B8%20%ED%82%A4%EB%A5%BC%20.pem%EC%9C%BC%EB%A1%9C%20%EB%B3%80%ED%99%98.png)
SSH2 RSA
형식 기반의 개인 키를 다음을 .pem
사용하여 형식 으로 변환 하려고 하면OpenSSL다음 오류가 발생합니다.
[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
내 개인 키:
[[email protected]]$ 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 ----
혹시 다른 사용할 수 있는 방법 있으면 추천해주세요OpenSSL또는SSH-keygen-g3
편집 1:다음 옵션을 시도했지만 여전히 동일한 문제가 발생합니다.
[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
답변1
ssh-keygen -p
SSH2와 PEM 형식 간에 변환이 가능합니다.
-m key_format
Specify a key format for key generation, the -i (import),
-e (export) conversion options, and the -p change
passphrase operation. The latter may be used to convert
between OpenSSH private key and PEM private key formats.
The supported key formats are: “RFC4716” (RFC 4716/SSH2
public or private key), “PKCS8” (PKCS8 public or private
key) or “PEM” (PEM public key). By default OpenSSH will
write newly-generated private keys in its own format, but
when converting public keys for export the default format
is “RFC4716”. Setting a format of “PEM” when generating or
updating a supported private key type will cause the key to
be stored in the legacy PEM private key format.
SSH2에서 PEM으로:
ssh-keygen -p -f id_rsa -m PEM
PEM에서 SSH2로:
ssh-keygen -p -f id_rsa -m SSH2
경고하다:지정된 파일을 덮어쓰고 그 자리에서 업데이트합니다!
노트:ssh-keygen-g3
에 링크되어 있지만상업용 제품, ssh-keygen
더 일반적인 오픈 소스 버전입니다. 시스템에서 무료로 얻을 수 있으며 Linux, Windows, FreeBSD, PASE 등에서 작동합니다. 원하는 경우 해당 기능이 있는 시스템에서 변환을 수행할 수 있습니다. SSH2/PEM 키는 결국 일반 텍스트 파일일 뿐이므로 잃어버리지 않도록 주의하세요.
답변2
해결책:작동시키기 위해 다음 명령을 사용했습니다.
$ 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.