programing tip

OpenSSL을 사용하여 공개 키를 추출하는 방법은 무엇입니까?

itbloger 2020. 7. 28. 08:02
반응형

OpenSSL을 사용하여 공개 키를 추출하는 방법은 무엇입니까?


다음 명령은 공개 키와 개인 키를 모두 포함하는 파일을 생성합니다.

openssl genrsa -des3 -out privkey.pem 2048

출처 : here

OpenSSL을 사용하면 개인 키에 공개 키 정보도 포함되므로 공개 키를 별도로 생성 할 필요가 없습니다.

privkey.pem 파일에서 공개 키를 어떻게 추출 할 수 있습니까?

감사.


openssl rsa -in privkey.pem -pubout > key.pub

공개 키를 key.pub


위의 기술은 일반적인 경우에는 효과가 있지만 Amazon Web Services (AWS) PEM 파일에서는 작동하지 않았습니다.

AWS 문서에서 다음 명령이 작동한다는 것을 알았습니다. ssh-keygen -y

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html

전체 라인에 대한 감사 @makenova 편집 :

ssh-keygen -y -f key.pem > key.pub

세부 사항에 관심이있는 사람들은 다음을 수행하여 공개 키 파일의 내용을 볼 수 있습니다 (위에서 설명한대로 생성됨).

openssl rsa -noout -text -inform PEM -in key.pub -pubin

또는 개인 키 파일의 경우 다음과 같습니다.

openssl rsa -noout -text -in key.private

키의 실제 구성 요소 (모듈, 지수, 소수 등)를 콘솔에 텍스트로 출력합니다.


Amazon AWS .pem키 페어를 다른 리전으로 복사하는 방법을 찾으 려면 다음을 수행하십시오.

openssl rsa -in .ssh/amazon-aws.pem -pubout > .ssh/amazon-aws.pub

그때

aws ec2 import-key-pair --key-name amazon-aws --public-key-material '$(cat .ssh/amazon-aws.pub)' --region us-west-2

기존 공개 키를 가져 오는 AWS의 경우

  1. 이것을하는 .pem에서 내보내기 ... (리눅스에서)

    openssl rsa -in ./AWSGeneratedKey.pem -pubout -out PublicKey.pub
    

이것은 텍스트 편집기에서 다음과 같은 파일을 열면 파일을 생성합니다 ...

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn/8y3uYCQxSXZ58OYceG
A4uPdGHZXDYOQR11xcHTrH13jJEzdkYZG8irtyG+m3Jb6f9F8WkmTZxl+4YtkJdN
9WyrKhxq4Vbt42BthadX3Ty/pKkJ81Qn8KjxWoL+SMaCGFzRlfWsFju9Q5C7+aTj
eEKyFujH5bUTGX87nULRfg67tmtxBlT8WWWtFe2O/wedBTGGQxXMpwh4ObjLl3Qh
bfwxlBbh2N4471TyrErv04lbNecGaQqYxGrY8Ot3l2V2fXCzghAQg26Hc4dR2wyA
PPgWq78db+gU3QsePeo2Ki5sonkcyQQQlCkL35Asbv8khvk90gist4kijPnVBCuv
cwIDAQAB
-----END PUBLIC KEY-----
  1. 그러나 AWS는이 파일을 허용하지 않습니다.

    파일 에서 -----BEGIN PUBLIC KEY----------END PUBLIC KEY-----파일을 제거해야합니다. 저장하고 가져 오면 AWS에서 작동합니다.

참고 URL : https://stackoverflow.com/questions/10271197/how-to-extract-public-key-using-openssl

반응형