python - 如何通过 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 文件未找到。
"[Errno 2] No such file or directory: './clientiot.pem'"
如何处理?有什么方法可以安全地访问 .pem 文件或 .pem 文件的数据。
我不想在 AWS lambda 中使用 .pem。
解决方案
PEM 密钥是一种敏感资源,因此在这种情况下,我建议将其放入 AWS Secrets Manager,然后授予 Lambda 检索该密钥的权限。
这是有关如何创建秘密的官方教程。
推荐阅读
- python-3.x - python多处理锁和队列不适用于较旧的Linux内核
- haproxy - 如何平衡 Haproxy 后面的 DNS 服务器
- python - AttributeError - 'numpy.ndarray' 对象没有属性 'drop'
- wordpress - Wordpress 常规查询不考虑粘性帖子
- android - 等待服务器返回消息 - Kotlin 协程
- python - 如何将数据框列中的值替换为另一个数据框列。就像图片一样
- c# - 如何根据另一列的值更改 DataGrid 中按钮的前景色?WPF C#
- python - 如何在python中的二维数组中找到多少个值可以被整除
- python - 如何在 tkinter 画布的某些区域嵌入 matplotlib 图?
- arduino - 信号矢量幅度 - 加速度计 MPU6050