首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有Github Enterprise Deploy Key的AWS CodeBuild要求输入密码

带有Github Enterprise Deploy Key的AWS CodeBuild要求输入密码
EN

Stack Overflow用户
提问于 2020-12-18 06:28:05
回答 1查看 342关注 0票数 5

我正在尝试为我的Github Enterprise repo使用Deploy Key,这样我就可以使用CodeBuild项目来推送新部署的标签。不管我怎么努力,我都不能让它工作。

在本地计算机中:(MacOS)

我使用如下命令生成密钥:ssh-keygen -t ecdsa -b 521 -f $PATH_TO_SSH_KEY -q -N ""

我将AWS SSM Parameter Store中的$PATH_TO_SSH_KEY内容保存为SecureString。

我在我的CodeBuild环境中从参数存储区而不是在我的buildspec.yml中加载这个参数。

我将$PATH_TO_SSH_KEY.pub作为新的部署密钥保存到github企业存储库。

在我的CodeBuild项目buildspec.yml中:

我将密钥保存到一个文件中:printf -- "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_ecdsa

现在,我尝试了两种不同的方法,但都失败了。

方法1:

将企业站点的指纹保存到known_hosts:ssh-keyscan "$GITHUB_ENTERPRISE_URL" >> ~/.ssh/known_hosts

配置git使用我的凭据:GIT_SSH_COMMAND="ssh -i ~/.ssh/id_ecdsa" git push --tags

这种方法会失败,并显示以下错误:

代码语言:javascript
复制
git@<ENTERPRISE_URL>: Permission denied (publickey).
fatal: Could not read from remote repository.

方法2:

使用SSH代理保存密钥并尝试以这种方式克隆:

eval $(ssh-agent)

ssh-add ~/.ssh/id_ecdsa

git push --tags

由于以下消息,此方法失败:

代码语言:javascript
复制
Enter passphrase for /root/.ssh/id_ecdsa:

(我的密钥没有密码,它在我的本地机器上运行良好)

问题:

有没有可能让它正常工作?我见过使用代码构建的部署密钥的其他示例,但当我尝试完全相同的设置时,我失败了,并出现上述错误之一。我已经在这上面工作了两天了,所以我已经无计可施了。任何帮助都将不胜感激。

如果需要任何额外的信息,我很乐意在这里得到并编辑它。

EN

回答 1

Stack Overflow用户

发布于 2021-09-29 15:46:01

希望在不久的将来,codebuild将开始支持通过AWS本地部署密钥,而不是在buildspec文件中。

是的,我同意这是一个很好的补充。现在,我们正在解决这个缺点,简单地将SSH私钥以明文形式保存,但加密存储在SSM参数存储中,例如:

代码语言:javascript
复制
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

不是很理想,而且添加了一些样板,但在我们的场景中已经足够好了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65349224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档