如何设置安全的 Git 存储库?

ger*_*rky 7 ssh git

我按照本教程在 EC2 实例上设置了 git 存储库。 http://git-scm.com/book/ch4-4.html。基本上,我添加了一个新git用户并将我的公钥包含在authorized_keys 中。设置git用户后,我只是通过git init --bare.

但是,我注意到我可以轻松地克隆它而无需我的私钥。有没有办法强制它只能通过 SSH 使用,以便遵循 authorized_keys ?我猜它正在使用 git 的默认值,即端口 9418,它似乎不支持身份验证。

Bel*_*dez 8

端口 9814 是git-daemon运行的地方(例如 clone, git clone git://git.example.com/repo)。这适用于内部git存储库。阅读文档以获取更多详细信息。

您还有 2 个其他选项可用于设置远程git服务器:

  • SSH服务器: git clone ssh://git.example.com/git/repo
  • HTTP服务器 git clone https://git.example.com/git/repo

SSH 设置要容易得多。您只需要确保所有贡献者都可以访问 SSH 帐户。这通常是通过 SSH 密钥完成的——每个开发人员将他们的公钥添加到gitSSH 帐户中。

只记得:

  • 指定在命令的协议(即,sshgithttphttps)。
  • 确保您正确设置了防火墙:
    • 通常端口 22 用于 ssh
    • 通常端口 443 用于 https
    • 另外两个应该避免,但是,对于 ref,端口 9814git和端口 80 用于http