다음 명령은 공개 및 개인 키를 모두 포함하는 파일을 생성합니다.
openssl genrsa -des3 -out privkey.pem 2048
출처 : 여기
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가 기존 공개 키를 가져 오는 경우
-
.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-----
-
그러나 AWS는이 파일을 허용하지 않습니다.
당신은 벗기고해야
-----BEGIN PUBLIC KEY-----
하고-----END PUBLIC KEY-----
파일에서. 저장하고 가져 오면 AWS에서 작동합니다.