git - 如何设置对 ssh git 服务器的只读访问权限?

我的服务器上有一个 git repo,我可以通过 SSH 推送/pull ,就像:

git clone ssh://user@domain.com/repositories/myrepo.git

它提示我输入我的公钥密码,我可以获取或推送更改,但我想知道是否有一种方法可以设置它以便人们可以 clone它仅具有读取权限,因此他们不必输入任何 SSH 凭据。

提前致谢!

最佳答案

不通过 ssh;除非您想分发公众,否则他们可以登录,这是一个糟糕的主意。

我们在 gitolite 上获得此功能的方式是使用 git-daemon;您需要打开一个新端口,但可以指定每个存储库将提供哪些服务,并且可以指定只读。用户将使用 git 协议(protocol)进行克隆,即

git clone git://domain.com/repositories/myrepo.git



另一种方法是将存储库设置为直接在 Web 服务器上共享;然后用户可以通过标准http访问。

git 社区书上的页面 here是一个很好的概述,以及 git-daemon 的手册页.

https://stackoverflow.com/questions/9620584/

相关文章:

exception - 如何在事务中从 Grails 中的数据库错误中恢复

php - 通过php我如何关闭由php ssh2_connect创建的事件ssh连接?

grails - “grails -Dserver.port=9999 run-app”无效

ruby-on-rails-3 - 使用 Heroku 访问和部署问题

mongodb - 在grails和MongoDB插件的条件查询中使用allowDiskUse?

macos - 假设我知道root密码,如何在OS X中使用标准帐户制作一个sudo本身的Bash脚

grails - 在Grails应用程序的主页中更改用户的语言环境

grails - 使用插件时如何在Grails中添加Quartz监听器

ssh - 如何从第二台机器访问 Github 存储库?

grails - Grails:如何从BuildConfig.groovy中知道正在执行哪个命令