相关疑难解决方法(0)

如何在 aws lambda 中克隆私有 git 存储库

我需要在 aws lambda 中克隆一个私有 git 存储库(lambda 运行时是 python)。经过一些研究后,我知道我需要在/tmp目录中克隆存储库,因为它是 lambda 中唯一可访问的目录。另外,我需要使用私钥来ssh到github。

基本上,我的代码如下所示:

import git # lambda-git
import os

private_key = """-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----
"""
with open("/tmp/id_rsa", "w") as id_rsa:
  id_rsa.write(private_key)
os.chmod("/tmp/id_rsa", 600)
os.environ["GIT_SSH_COMMAND"] = 'ssh -i /tmp/id_rsa -o StrictHostKeyChecking=no'
git.exec_command("clone", "git@domain:repo_name.git", "/tmp")
Run Code Online (Sandbox Code Playgroud)

但是,将压缩文件夹上传到 lambda 后,出现以下错误

Could not create directory \\'/home/sbx_user1051/.ssh\\'.
Failed to add the host to the list of known hosts (/home/sbx_user1051/.ssh/known_hosts).
Load key \"/tmp/id_rsa\": Permission denied
Permission denied (publickey).
fatal: Could not …
Run Code Online (Sandbox Code Playgroud)

github aws-lambda

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

aws-lambda ×1

github ×1