【问题标题】:Bitbucket not accepting EC2 ssh-keyBitbucket 不接受 EC2 ssh-key
【发布时间】:2017-10-12 23:22:57
【问题描述】:

我尝试将我从我的 EC2 终端生成的 id_rsa.pub 导入我的 bitbucket 帐户,因此我在执行 git 命令时不需要一遍又一遍地输入身份验证密码。但似乎 Bitbucket 仍然拒绝它。

另外请向我推荐一个最简单的 webhook,我可以创建它来通过 php exec 命令拉取存储库,这样我就可以通过网络浏览器上的链接进行拉取请求。

谢谢,

【问题讨论】:

  • 你试过什么?此文件是否存在:~/.ssh/id_rsa?它是添加到 bitbucket 的格式正确的私钥实例吗?您是否已将 git CLI 配置为使用 ssh?
  • 我使用 ssh-keygen 命令生成了 id_rsa 的文件,它当然生成了两个新文件(公钥和私钥)。我已将 .pub 文件的内容添加到 bitbucket,但它在我的 EC2 实例中不起作用。顺便说一句,这件事只发生在 EC2 amazon 中,当我在其他计算机上尝试时,它运行良好。你知道为什么吗?
  • 首先,检查ssh -v dedenbangkit@bitbucket.org 的结果,如果您的密钥已列出,那么您在该EC2 实例上生成的密钥可能使用与BitBucket 处理的算法或编码不同的算法或编码。尝试在它工作的机器上生成一组新密钥,然后将私钥添加到 EC2,将 pub 添加到 BitBucket,然后再次检查 ssh -v dedenbangkit@bitbucket.org
  • @TonyChiboucas 我是在没有 sudoers 的情况下创建的 ssh-key 所以这是文件所有者的问题,我认为 sudo 可以拥有其他组或用户创建的所有东西。感谢您的回答!

标签: php amazon-ec2 ssh bitbucket


【解决方案1】:

检查您的 ssh 用户和密钥

ssh -v user@domain.com

这应该列出您在 BitBucket 中注册的私钥。如果是 NOT,那么一些额外的配置可能会让你到达那里:

~/.ssh/config

host domain.com
user username
identityfile ~/.ssh/id_rsa # path to your private-key-file

在另一台计算机上生成密钥。

操作系统版本和配置可以使用任意数量的加密算法和编码方法来创建和存储密钥对。有时这些方法在操作系统之间不能很好地转移,或者在不同的环境中不能很好地发挥作用。

  1. 检查您的 SSH 协议和客户端。您可能需要不同或更新的版本。
  2. 如果所有其他方法都失败了,请在您知道可用于 keygen 的计算机上生成密钥,然后找出如何使该密钥正常工作。

【讨论】:

  • 哇,现在效果很好!非常感谢。顺便说一句,您认为在 webhook 上使用 sudo 运行 exec 是否安全?
  • 没有 sudo exec git 钩子。我不知道这里有任何已知的漏洞,但是如果您曾经在生成的代码上使用超级特权调用 exec,那么您就是在自找麻烦。测试是这样的:是否有any 部分将发送到exec,它可能来自除root 之外的任何用户都可以写入的文件?如果是,请不要这样做。
猜你喜欢
  • 1970-01-01
  • 2013-09-20
  • 1970-01-01
  • 1970-01-01
  • 2020-03-05
  • 1970-01-01
  • 2014-10-17
  • 2018-02-20
  • 2014-10-04
相关资源
最近更新 更多