我想通过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密钥是一种敏感资源,因此在本例中,我建议将其放入AWS Secrets Manager中,然后授予Lambda检索该密钥的权限
下面是关于如何创建秘密的official tutorial
如果您直接使用Paramiko(pysftp只是Paramiko的一个薄薄包装器),您可以将密钥硬编码到代码中,并且不会遇到外部资源的问题:
SSH/SCP through Paramiko with key in string
有关在Lambda任务中引用文件的信息,请参阅:
AWS Lambda read contents of file in zip uploaded as source code
因此,这应该是可行的:
相关问题 更多 >
编程相关推荐