【问题标题】:How to set up git server WITHOUT ssh auth如何在没有 ssh auth 的情况下设置 git 服务器
【发布时间】:2013-01-01 02:51:24
【问题描述】:

前段时间,我偶然发现了一个关于如何以某种方式通过 Web 服务器设置 git 身份验证的解释。这样,客户端就不需要 ssh 密钥交换。
真丢人,我既没有收藏它的链接,也记不起这个技巧。

我只是想念扔掉一个用户名:密码组合来访问一些一次性存储库。在对一些虚拟机设置进行原型设计时,这是我最后一次觉得有这种需要,快照并不是一个理想的解决方案。

是否可以仅通过基于密码的授权使用 git?

我听说的另一个示例用例是在大学里,这种方法可以减少每学期为 30 人设置新帐户的组织开销。 想象一下,从一群难以生成自己的密钥对的人那里收集 ssh 密钥,更不用说人们不知道 VCS 是什么或它的用途。 p>

当然,解决这个问题的方法是只使用 SVN 进行版本控制。 但是有 git 的时候还需要用 SVN 吗?

为了防止误解,我有自己的服务器运行一个有效的 gitolite 设置,并且在客户端和服务器端使用 ssh 密钥非常好。

【问题讨论】:

  • sitaramc.github.com/gitolite/http.html 可能就是你要找的东西
  • @ThiefMaster:在最后一句话中,他写道他使用 gitolite。我认为他只需要一个 https / SSL 身份验证。
  • 查看此问题以获得您的一些问题的答案。基本上,是的,你可以使用 'git' 协议。
  • git 使用 .ssh/config 文件,因此如果您将 git 主机条目指定为具有属性“PreferredAuthentications 密码”,那么它将提示输入密码,而不是尝试使用公钥方法
  • 我想你在 SU 上寻找这个答案:superuser.com/questions/315848/…

标签: git ssh webserver authorization


【解决方案1】:

您可以将 gitolite 与任何能够提供身份验证的服务一起使用(因此排除没有身份验证的 git 协议)。

我的https configuration 将调用 gitolite,并使用 apache 服务器将提供给 gitolite 脚本的 id。

ScriptAlias /hgit/ @H@/sbin/gitolite-shell/
SetEnv GIT_HTTP_BACKEND "@H@/usr/local/apps/git/libexec/git-core/git-http-backend"
<Location /hgit>
   ...
</Location>

【讨论】:

  • 谢谢!关于 git,有什么你不知道的吗? :-)
  • @sjas 很多!这就是为什么我在过去 4 年里一直在回答 git 问题。它不仅可以帮助我了解 Git 本身、版本控制以及大量相关主题(例如 Wan 访问 git repos:stackoverflow.com/a/14110800/6309)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-21
  • 2017-08-01
  • 2015-09-13
  • 2021-05-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多