기존 공개 ssh-keygen
키 (다음을 사용하여 생성됨)를 PEM
변환하고 싶습니다.DER
나는 시도했다:
openssl rsa -in ~/.ssh/id_rsa.pub -inform PEM -pubin -outform DER -out ~/.ssh/id_rsa.pub.der
불행하게도 다음과 같은 오류가 발생합니다.
unable to load Public Key
139946985690784:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: PUBLIC KEY
이 파일에는 다음과 같은 ~/.ssh/id_rsa.pub
공개 키가 포함되어 있습니다.cat ~/.ssh/id_rsa.pub
ssh-rsa ...... user@machine
내가 뭘 잘못했나요?
답변1
OpenSSH 공개 키 형식은 PEM 형식과 다릅니다. 너는 달려야 해ssh-keygen
그것을 변환합니다.
ssh-keygen -f ~/.ssh/id_rsa.pub -e -m PEM >pubkey.pem
그런 다음 다음을 사용하여 DER 형식으로 변환합니다.openssl rsa
.
openssl rsa -RSAPublicKey_in -in pubkey.pem -inform PEM -outform DER -out ~/.ssh/id_rsa.pub.der -RSAPublicKey_out
또한 -RSAPublicKey_in
( 아님 -pubin
)을 지정하고 -RSAPublicKey_out
이를 RSA 공개 키(PKCS#1)로 유지해야 합니다.