You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Boto3 describe_key_pairs未返回公钥字段,是否需从私钥获取?

问题解答
  • 你混淆了Boto2和Boto3的API响应结构,Boto3的describe_key_pairs响应里对应的公钥字段是PublicKeyMaterial,并非Boto2文档中提及的PublicKey。
  • 你调用时已添加IncludePublicKey=True参数,只要目标密钥对是当前AWS账户创建的(而非导入的第三方密钥对),就能在返回的KeyPairs列表元素中获取PublicKeyMaterial字段,无需从私钥中提取公钥。
  • 若密钥对是导入的第三方密钥对,AWS不会存储其公钥内容,此时调用该API无法拿到公钥,这种场景下才需要从本地保存的私钥中提取公钥。

修正后提取公钥的代码示例:

response = self.ec2.describe_key_pairs(
    KeyNames=[
         name,
    ],
    IncludePublicKey=True,
).get("KeyPairs")

# 获取公钥内容
if response:
    public_key = response[0].get("PublicKeyMaterial")

内容的提问来源于stack exchange,提问作者maxmin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 07:53:10