首页 > 解决方案 > 如何通过 AWS Lambda 使用 pysftp 连接 EC2,无需 .pem 文件或替代 .pem 文件

问题描述

我想通过 AWS Lambda 使用 pysftp 库连接 EC2。我使用下面的代码进行连接。

mysftp = pysftp.Connection(
    host=Constants.MY_HOST_NAME,
    username=Constants.MY_EC2_INSTANCE_USERNAME,
    private_key="./clientiot.pem",
    cnopts=cnopts,
)

我已将 .pem 文件与部署包一起放入 AWS Lambda。看这张图片:

带有部署包的 pem 文件

有时它有时不起作用,就像有时它说 .pem 文件未找到。

"[Errno 2] No such file or directory: './clientiot.pem'"

如何处理?有什么方法可以安全地访问 .pem 文件或 .pem 文件的数据。

我不想在 AWS lambda 中使用 .pem。

标签: pythonamazon-web-servicessshaws-lambdapysftp

解决方案


PEM 密钥是一种敏感资源,因此在这种情况下,我建议将其放入 AWS Secrets Manager,然后授予 Lambda 检索该密钥的权限。

这是有关如何创建秘密的官方教程。


推荐阅读