답변:
openssl rsa -in privkey.pem -pubout > key.pub
공개 키를 key.pub
-out
예 : openssl rsa -in privkey.pem -pubout -out key.pub
stdout을 파일로 리디렉션하는 대신.
위의 기술은 일반적인 경우에는 작동하지만 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
ssh-keygen -y -f key.pem > key.pub
ssh-keygen -y -f key.pem
key.pem
가 필요한 인스턴스에 로그인하지 못할 수 있습니다!
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
openssl
은 PEM 헤더에 삽입되어 있으며 AWS CLI가 키를 수락하기 전에 제거해야합니다.
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에서 작동합니다.
ssh-rsa AAAAB3NzaC1y....
실행을 위해이 형식을 변환해야하는 경우 :ssh-keygen -f PublicKey.pub -i -mPKCS8