如果我将公共主机的公钥添加到我的github的帐户中,是否有任何安全问题?

时间:2012-09-27 18:05:39

标签: git security github git-push git-reset

这意味着其他人可能会推送到我在github上托管的git repos,所以任何人都可以使用

git reset --hard first-commit-id
git push
  1. 这会破坏我在github上托管的git repos吗?

  2. 如果一个坏人运行上述命令,我会失去我的历史吗?

  3. 此问题与how do I remove my public key from github?

    不同

3 个答案:

答案 0 :(得分:2)

我不认为只是通过重置和发布git push您将删除任何内容。但是,还有其他命令,例如git push -f可以删除或破坏您的整个历史记录,所以我想说您的担心是有效的。

This thread是关于如何防止破坏历史记录的配置,但如another thread中所述,该选项不适用于在github中配置。

所以,如果你允许每个人都推送你的github回购,我认为你有理由担心。

编辑:应该注意的是,这个答案只有在其他人真正有权访问时才有效。通过添加公钥,您通常不会给任何人访问权限,即使他们拥有相同的公钥 - 对于有人推送,他们需要拥有私有密钥,而不是公共密钥。

答案 1 :(得分:1)

1)如果有些人会使用git push -f然后是,你可能会丢失你的回购提交。在这种情况下,您可以使用密码创建自己的私钥(如果使用密码短语,则可以在每次推送或拉动期间运行ssh-agent以跳过密码)

2) git reset ,这只是将HEAD ref移动到第一次提交,仅此而已,您可以使用 git reflog 来修复它。

答案 2 :(得分:0)

作为分布式VCS,您将拥有一台个人本地仓库,与您制造机器一样安全。

Github上的回购已获得完全公开写访问的事实是一个选择,所以不应该被视为一个安全问题,而是它是协作的推动者,这对非合作者的尝试有轻微的风险破坏事物。

关键是,您仍然可以拥有回购的安全完整个人副本,因此可以继续运营和协作。并在损坏后恢复github副本。