使用SSH而不是HTTP来访问GitBlit存储库

时间:2016-02-02 17:39:12

标签: git ssh gitblit

我正在使用GitBlit设置新服务器。它应默认创建和管理通过ssh,端口29418访问的repos。例如:ssh://user@gitblit.mycompany.com:29418/repo.git

但新的GitBlit迫使我在我创建的每个repo中使用HTTP(无论其权限策略如何)。访问它的唯一方法是通过HTTP http://user@gitblit.mycompany.com/r/repo.git

我在Tomcat6下的GitBlit 1.7.7战争(作为默认的webapp,在ROOT目录下)在Apache之后。先前在本地VM上安装(Centos6.7),同样的设置对我有用。

我已经迷路了。不能使用SSH,也不知道如何摆脱rep / path中的/ r /。是否有可能是由jk_module引起的,我用它来连接tomcat和apache而不是VM中的代理?

我的.properties:

git.sshPort=29418
git.repositoriesFolder = ${baseFolder}/git
git.sshKeysManager = com.gitblit.transport.ssh.FileKeyManager

1 个答案:

答案 0 :(得分:0)

通过将GitBlit移出Tomcat的ROOT目录并在Apache VirtualHost上使用rewriteRule解决了问题

RewriteEngine on
RewriteLog logs/apache-mod_rewrite
RewriteCond %{REQUEST_URI} !^/gitblit-1.7.1.*
RewriteRule ^/(.*)$ /gitblit-1.7.1/$1 [L,PT]

JkMount /gitblit-1.7.1* worker1

Gitblit之后开始提供SSH。