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

如何用Python从RSA私钥中提取SSH公钥(AWS Lambda环境)

从RSA私钥生成SSH公钥(Python实现)

可以用cryptography库纯Python实现,无需调用shell命令,适配AWS Lambda环境,代码示例如下:

from cryptography.hazmat.primitives import serialization as crypto_serialization
from cryptography.hazmat.backends import default_backend

def generate_ssh_public_key(private_key_str):
    # 将私钥字符串转为字节流
    private_key_bytes = private_key_str.encode('utf-8')
    
    # 加载PEM格式的RSA私钥
    private_key = crypto_serialization.load_pem_private_key(
        private_key_bytes,
        password=None,  # 如果私钥有密码,这里传入密码字节流(如b"your_pass")
        backend=default_backend()
    )
    
    # 导出OpenSSH格式的公钥
    public_key_bytes = private_key.public_key().public_bytes(
        encoding=crypto_serialization.Encoding.OpenSSH,
        format=crypto_serialization.PublicFormat.OpenSSH
    )
    
    # 转为字符串返回
    return public_key_bytes.decode('utf-8')

# 使用示例:传入你的私钥变量
# ssh_pub_key = generate_ssh_public_key(private_key)

注意事项

  • 如果AWS Lambda的Python运行环境默认没有cryptography库,需要创建Lambda层并打包该库后附加到函数上。
  • 若私钥设置了加密密码,需在load_pem_private_key的password参数传入对应密码的字节流。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 21:45:43