CircleCI 2.0 SSH调试:无法启用SSH,找不到SSH密钥。

16

配置:

  • CircleCI 2.0
  • Bitbucket private repo

当我点击“使用SSH重建”时,“启用SSH”部分输出:

无法启用SSH 找不到SSH密钥。请确保您的版本控制系统帐户中至少添加了一个SSH密钥。

这是什么意思?我该如何解决?

2个回答

7
您可以使用您已经生成的个人私有公共id_rsa id_rsa.pub密钥对来SSH访问其他机器。
只需将您的公钥~./ssh/id_rsa.pub添加到Bitbucket -> 设置 -> SSH密钥 -> 添加SSH密钥中。
然后转到CircleCI并重新构建项目即可。
可能会因为CircleCi使用另一个名为checkout SSH密钥对的SSH密钥对而感到困惑,用于:
  • 检出主要项目
  • 检出任何Bitbucket托管的子模块
  • 检出任何Bitbucket托管的私有依赖项
  • 自动git合并/标记等。
私有checkout SSH密钥保存在CircleCi服务器上,并自动上传公钥到Bitbucket。

2
我已经在Bitbucket账户(而非仓库)中添加了SSH密钥,但在CircleCI中仍然显示“启用SSH失败”。 - Carson Ip
谢谢提供链接!我在2017年提出了这个问题,但到了2019年仍然没有运用SSH功能的机会。我会等待CircleCI讨论帖中的更新。 - Carson Ip
1
来自CircleCI支持团队:“感谢您的耐心等待,我们已经调查了这个问题。Bitbucket API进行了更改以加强安全性,而这与我们之前处理BitBucket用户的SSH密钥的方式不兼容。我们目前正在与BitBucket团队沟通,讨论解决此问题的可能性。我们目前无法提供预计完成时间,但会尽力在可能时提供更新的信息。” - Carson Ip
1
问题已于2019年4月8日修复。这个答案是正确的。但如果你有一个团队,你必须在个人账户下添加SSH密钥,而不是团队账户。 - Carson Ip
1
@Shardj 没错。我也卡了很长时间。在这个被接受的答案中添加一个 TLDR。 - Carson Ip
显示剩余2条评论

2
如果您正在使用Github:
- 前往密钥设置:https://github.com/settings/keys - 如果没有密钥对,请生成一组 - 将密钥复制并粘贴到CircleCI UI中,然后保存。
现在,您应该可以立即使用SSH登录CircleCI(运行rerun job with SSH)。
如果您正在使用Bitbucket:
- 将您的公钥添加到您的bitbucket账户:从左下角的头像选择Bitbucket设置 - 单击ssh keys并添加您的公钥 - 您不需要在CircleCI中做任何事情,只需使用SSH重新运行作业
来源:
- https://confluence.atlassian.com/bitbucket/troubleshoot-ssh-issues-271943403.html

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接