我可以运行受密码保护的只读git服务器吗?

我可以运行受密码保护的只读git服务器吗?,git,version-control,Git,Version Control,我需要一个应用程序能够从git存储库获取数据,但不能推送到它,所以,这是只读部分。这可以通过git守护进程轻松完成 最重要的是,我需要对上述存储库进行密码保护,包括阅读。因此,在进行任何获取之前,应用程序需要进行身份验证 这可行吗?使用git守护进程?还有别的吗?http+auth可能吗?最简单的方法是在gitweb上设置http身份验证。请参阅。HTTP身份验证不会保护通过有线传输的数据包,因此,如果您担心窃听者,HTTP身份验证将无法满足要求。此外,git使用git协议比HTTP协议更有效。

我需要一个应用程序能够从git存储库获取数据,但不能推送到它,所以,这是只读部分。这可以通过git守护进程轻松完成

最重要的是,我需要对上述存储库进行密码保护,包括阅读。因此,在进行任何获取之前,应用程序需要进行身份验证


这可行吗?使用git守护进程?还有别的吗?http+auth可能吗?

最简单的方法是在gitweb上设置http身份验证。请参阅。

HTTP身份验证不会保护通过有线传输的数据包,因此,如果您担心窃听者,HTTP身份验证将无法满足要求。此外,git使用git协议比HTTP协议更有效。但是,git守护进程不为您进行身份验证

最好的解决方案可能是使用ssh,它允许您使用ssh保护存储库——加密的强身份验证和在线保密性——并控制对存储库的访问(例如,让一些用户读写,一些用户只读)。这将通过ssh连接使用高效的git协议


如果你愿意外包,这也许是最好的方法。他们有不同价位的计划来满足许多需求。

您可以通过SSH获取,SSH是经过身份验证和加密的通道。我不知道是否可以帮助您管理SSH访问,而不是使用git shell作为shell设置shell帐户。

要创建经过身份验证的“只读”存储库,请为所有相关方提供对存储库的SSH访问,但仅允许使用更新挂钩作为对一个子集的推送请求(写访问)。

使用。这是最好的:易于设置(如果您已经知道SSH密钥管理),完全控制用户访问和传输安全(SSH)。

我喜欢使用git+gitolite+gitweb

  • gitweb提供了一个非常精简和快速的Web前端

  • gitolite正在执行所有授权任务,因此您可以在(ssh)用户级别上授予读写权限(即使gitolite的配置是作为普通git处理的) 存储库,也就是说,授权/配置更改 可追踪)


取而不拉是什么意思?pull只是本地的fetch+merge。pull是一个只读操作,除非我遗漏了什么。我有一个免费的github帐户,用于我的开放项目。他们在付费帐户中是否有ssh之外的身份验证/授权方面的工作?嗯,进一步检查,他们似乎不支持经过身份验证的只读访问;他们的计划列表位于,您可以联系support@github.com有很多问题。