gpt4 book ai didi

git - 使用 Github Enterprise Deploy key 的 AWS CodeBuild 要求输入密码

转载 作者:行者123 更新时间:2023-12-04 11:39:58 25 4
gpt4 key购买 nike

我正在尝试将 Deploy Keys 用于我的 Github Enterprise 存储库,以便我可以使用 CodeBuild 项目推送新部署的标签。无论我尝试什么,我都无法让它工作。
在我的本地机器上:(MacOS)
我正在使用这样的命令生成 key :ssh-keygen -t ecdsa -b 521 -f $PATH_TO_SSH_KEY -q -N ""我在存钱 $PATH_TO_SSH_KEY AWS SSM Parameter Store 中的内容作为 SecureString。
我正在我的 CodeBuild 环境中从参数存储而不是在我的 buildspec.yml 中加载此参数。
我在存钱 $PATH_TO_SSH_KEY.pub到 github 企业存储库作为新的部署 key 。
在我的 CodeBuild 项目 buildspec.yml 中:
我正在将 key 保存到文件中:printf -- "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_ecdsa现在,我从这里尝试了两种不同的方法,但都失败了。
方法一:
将企业站点的指纹保存到known_hosts:ssh-keyscan "$GITHUB_ENTERPRISE_URL" >> ~/.ssh/known_hosts配置 git 以使用我的凭据:GIT_SSH_COMMAND="ssh -i ~/.ssh/id_ecdsa" git push --tags这种方法失败并出现错误:

git@<ENTERPRISE_URL>: Permission denied (publickey).
fatal: Could not read from remote repository.
方法二:
使用 SSH 代理保存 key 并尝试以这种方式克隆: eval $(ssh-agent) ssh-add ~/.ssh/id_ecdsa git push --tags由于以下消息,此方法失败:
Enter passphrase for /root/.ssh/id_ecdsa:
(我的 key 没有密码,它在我的本地机器上运行良好)
题:
有可能让这个工作吗?我已经看到其他使用代码构建部署 key 的示例,但是当我尝试完全相同的设置时,我因上述错误之一而失败。我已经为此工作了 2 天,所以我已经无能为力了。任何帮助将不胜感激。
如果需要任何其他信息,我很乐意在此处获取并编辑它。

最佳答案

Hopefully in the near future, codebuild will begin supporting deploy keys natively through AWS instead of in the buildspec file


是的,我同意这将是一个很好的补充。现在我们正在解决这个缺点,只需将 SSH 私钥以纯文本形式保存,但在 SSM 参数存储中加密存储,例如:
version: 0.2
env:
parameter-store:
SSH_PRIVATE_KEY: /ssm/key/name/here
phases:
install:
on-failure: ABORT
commands:
- mkdir -p ~/.ssh && chmod 0700 ~/.ssh
- echo -n "${SSH_PRIVATE_KEY}" > ~/.ssh/id_rsa && chmod 0400 ~/.ssh/id_rsa
- md5sum ~/.ssh/id_rsa
build:
on-failure: ABORT
commands:
- eval $(ssh-agent)
- ssh-add ~/.ssh/id_rsa
不理想,添加了很多样板,但在我们的场景中已经足够了。

关于git - 使用 Github Enterprise Deploy key 的 AWS CodeBuild 要求输入密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65349224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com