Git 我在存储库中发布了我的私有SSH密钥

Git 我在存储库中发布了我的私有SSH密钥,git,ssh,bitbucket,ssh-keys,Git,Ssh,Bitbucket,Ssh Keys,这可能是这个论坛上最愚蠢的问题。但我只是创建了一个私有存储库,不知何故,我的公共和私有ssh密钥被写入了本地repo中的文件中 当我将repo发布到bitbucket时,带有两个SSH密钥的文件也被发布了。所以现在它们可以在我的回购协议上公开访问。即使我删除它们,你也会在日志文件中找到它们。我如何才能安全地从错误中恢复?没有“返回”-私钥现在已被泄露。 从~/.ssh中删除您的私钥,并为自己生成一个新的私钥(使用ssh-keygen)。1 是的,那会很痛苦,因为你必须用一堆东西重新注册你的公钥。

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

当我将repo发布到bitbucket时,带有两个SSH密钥的文件也被发布了。所以现在它们可以在我的回购协议上公开访问。即使我删除它们,你也会在日志文件中找到它们。我如何才能安全地从错误中恢复?

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

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



一,。然后弄清楚你怎么可能在一开始就把你的钥匙添加到回购协议中

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

  • 立即生成新的私钥和公钥对

  • 从使用公钥的所有位置的允许密钥列表中删除公钥。 将其替换为新的公钥

  • 从存储库的历史记录中删除旧私钥。 你可以跟着

  • 删除旧的私钥,您就不再需要它了

  • 你需要弄清楚这把钥匙是如何在回购协议中结束的。 为了避免进一步的错误, 你的新钥匙又出现在回购协议中, 我建议在你调查时从网上删除回购协议。
    完成后,您可以轻松地将其推回。

    我无法进行编辑,将您的前两句话放在标题格中。我觉得他们可以用它来真正说明这件事的紧迫性。谢谢。我只是在做这一切,这才是真正的痛苦。但我明白其中的紧迫性。删除私钥在这里并不重要;从任何被授予访问权限的地方删除公钥。我想说的是,它没有“你应该考虑”的意思,现在该密钥是有毒的。除非有确凿的证据证明签名是在妥协之前做出的,否则用它签名的任何东西都是不可信的,而且在妥协之后用它访问的每一点数据现在也是公开的。如果,上帝保佑你,那是你运行浏览器的帐户的ssh密钥,那么现在存储的每个密码和卡号都会被删除。@jthill-“考虑”的意思是“作为”/“假设”,而不是“可能”。好的,我删除了我的ssh密钥,并在每个帐户上替换了它。但我无法在Bitbucket中删除我的历史记录。我遵循了GitHubs指南,但它们仍然显示在已删除的文件中。