【问题标题】:I published my private SSH key in a repository我在存储库中发布了我的私人 SSH 密钥
【发布时间】:2023-03-02 22:34:01
【问题描述】:

这可能是本论坛最愚蠢的问题。但我刚刚创建了一个私有存储库,不知何故我的公共和私有 ssh 密钥被写入本地存储库内的文件中。

当我将我的 repo 发布到 bitbucket 时,我的两个 SSH 密钥的文件也被发布了。所以现在它们可以在我的仓库中公开访问。即使我删除它们,您也会在日志文件中找到它们。我怎样才能安全地从那个错误中恢复过来?

【问题讨论】:

  • 好的,我删除了我的 SSH 密钥并在每个帐户上替换了它。但我无法删除我在 Bitbucket 中的历史记录。我遵循了 GitHub 指南,但它们仍然出现在已删除的文件中。

标签: git ssh bitbucket ssh-keys


【解决方案1】:

您的私钥已泄露。您必须立即更换之前使用过的任何地方。

  1. 立即生成一个新的私钥和公钥对,

  2. 从您使用它的任何地方允许的密钥列表中删除公钥。 用新的公钥替换它。

  3. 从存储库的历史记录中删除旧的私钥。 你可以关注GitHub's guide

  4. 删除旧的私钥,你不再需要它了。

您需要弄清楚密钥是如何在存储库中结束的。 为了避免进一步的错误, 并且您的新密钥再次出现在该仓库中, 我建议您在调查时从 Internet 上删除 repo。 完成后,您可以轻松地将其推回。

【讨论】:

  • 无法进行编辑以将您的前两个句子放在标题大小写中。我觉得他们可以用它来真正说明这件事的紧迫性。
  • 谢谢。我只是在做所有那些真正痛苦的事情。但我有紧迫感。
【解决方案2】:

没有“回报”——私钥现在被泄露了。 从~/.ssh 中删除您的私钥,并为自己生成一个新密钥(使用ssh-keygen)。1

是的,那会很痛苦,因为您必须用一堆东西重新注册您的公钥。但确实没有安全的选择。


1。然后弄清楚你是如何最终将密钥添加到仓库的!

【讨论】:

  • 删除私钥不是这里重要的事情;从所有被授予访问权限的地方删除 public 密钥。
  • 我会说没有“你应该考虑”它,这把钥匙现在有毒。除非有确凿的证据证明签名是在妥协之前进行的,否则任何用它签名的东西都是值得信赖的,并且在妥协之后可以使用它访问的每一位数据现在也是公开的。如果上帝帮助您,那是您运行浏览器的帐户的 ssh 密钥,那么现在每个存储的密码和卡号都将被吐司。
  • @jthill - “考虑”是指“充当”/“假设”,而不是“可能”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-30
  • 1970-01-01
  • 2020-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多