git服务器的SSH和HTTP的优缺点是什么?


24

我想设置一个git服务器。我发现了一些详细的操作方法。

一些描述了可通过Ssh访问的git服务器的安装,而另一些描述了可通过HTTP访问的git-server的安装。(其他人甚至建议使用像乙醇钠之类的工具)。

在SSH或HTTP上进行选择是否有优缺点?看来,通过HTTP,文件传输速度明显变慢,但是我想知道是否还有其他事情要牢记。

设置git服务器的最常用方法是什么?

Answers:


23

当您询问最常用的方法时,我认为最好看一下您的情况,并记住一个协议不能排除另一个协议-如果需要,可以在以后添加更多访问协议。

  • 有效和最快的方法是使用本地Git守护程序。但是,提供的功能很少:没有加密,没有身份验证。是存储库的公共只读镜像的理想选择。如果需要性能,还可以考虑安装最新版本,而不是操作系统随附的版本。

  • 兼容的方式是HTTP。比本地的Git效率低,但也没有太大的区别。HTTP最重要的优点是防火墙渗透和代理支持。对于大多数网关/防火墙,它显示为常规的其他HTTP通信。

  • HTTPS 更加安全,但效率也不可避免地降低。需要一些配置。您还需要一个受信任的TLS证书。

  • 安全性类似,但更常见的方法是使用SSH。这是默认如果在命令行上没有指定协议。由SSH提供支持,它提供了强大的加密功能以及密码和密钥身份验证。尽管非常规,但也可以通过这种方式允许匿名访问。

我的建议取决于您存储库的用例:

  • 私人存储库和小型用户组:SSH

  • 公共存储库,任意数量的克隆,但只有一小部分具有推送特权的用户:HTTP和Git(仅提取)+ SSH(+推送访问)

  • 以上任何一种,但是拥有大量的推特权用户:您可能不了解Git的理念。

一些公共或公司网络可能会阻止Git和SSH通信。如果您确实需要从任何地方访问存储库,请考虑同时使用HTTPS和SSH。


您可以从startssl.com获取HTTPS的免费TLS证书。受到所有主要操作系统/浏览器的信任。
WhyNotHugo 2013年


2

如果您的存储库是公共的,则可以使用HTTPS进行只读访问,因为它易于在客户端使用。如果不是,则应仅使用SSH。无论如何,您都应该使用SSH进行写访问,因为它具有更好的身份验证管理。


哦,所以可以将两者混在一起吗?SSH用于写和读取访问,而Https用于简单的只读访问?
Stephane Rolland 2012年

是的。这应该不是什么大问题。
Christopher Perrin 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.