Answers:
openssl rsa -in privkey.pem -pubout > key.pub
那把公钥写到 key.pub
-out
例如,openssl rsa -in privkey.pem -pubout -out 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
ssh-keygen -y -f key.pem > key.pub
ssh-keygen -y -f key.pem
key.pem
,这可能会阻止您登录需要该密钥的实例!
ssh -i
,请确保您链接到的是私钥,而不是公钥
对于AWS导入现有的公钥,
从.pem导出执行此操作...(在Linux上)
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