AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[gitolite](server)

Martin Hope
Anon34623
Asked: 2020-01-28 04:38:47 +0800 CST

尝试通过 http 克隆/获取任何 repo 时出现 Gitolite 502

  • 1

我正在尝试将 gitolite 配置为使用 gitweb 在 nginx 上工作。尽管 gitweb 可以完美地工作并识别 gitolite 提供的所有访问控制功能,但我似乎无法通过 http 访问存储库本身。例如,当我尝试获取 repo 时,我得到:

user@hostname:$ git fetch origin master Username for 'http://git.<hostname>': <Username> Password for 'http://<Username>@git.<hostname>': remote: An error occurred while reading CGI reply (no response received) fatal: unable to access 'http://git.<hostname>/git/<reponame>.git/': The requested URL returned error: 502

我当前的 nginx 配置如下所示:

server {
    listen 127.0.0.1:80;

    server_name git.<hostname>;
    root /usr/share/gitweb;

    # Basic Authentication
    auth_basic "Private Git Server";
    auth_basic_user_file /srv/etc/.htpasswd;

    location ~ /git(/.*) {
    root /srv/git/;

    client_max_body_size 0;

    # fcgiwrap is set up to listen on this host:port
    include       fastcgi_params;
    fastcgi_param SCRIPT_FILENAME    /srv/git/gitolite-source/src/gitolite-shell;

    # export all repositories under GIT_PROJECT_ROOT
    fastcgi_param REMOTE_USER $remote_user;
    fastcgi_param GIT_HTTP_EXPORT_ALL "";
    fastcgi_param GIT_PROJECT_ROOT    /srv/http/repositories;
    fastcgi_param GITOLITE_HTTP_HOME /srv/git;
    fastcgi_param PATH_INFO           $1;
    fastcgi_pass    unix:/var/run/fcgiwrap.sock;
    }

    try_files $uri @gitweb;
    location @gitweb {
    fastcgi_pass unix:/var/run/fcgiwrap.sock;
    fastcgi_param SCRIPT_FILENAME   /usr/share/gitweb/gitweb.cgi;
    fastcgi_param PATH_INFO         $uri;
    fastcgi_param REMOTE_USER $remote_user;
    fastcgi_param GITWEB_CONFIG     /srv/git/gitweb/gitweb.conf;
    include fastcgi_params;
    }
}

Gitolite 安装在 /srv/git 中,所有存储库(以及 gitolite 配置文件等)都存储在 /srv/http 中(在 http 用户下运行 gitolite)。我怀疑这是一个错误配置的问题。我需要做些什么才能使用我当前的设置通过 http 操作 git?我使用 Arch,顺便说一句

nginx git gitolite fcgi
  • 1 个回答
  • 131 Views
Martin Hope
SpiRail
Asked: 2016-10-15 06:44:03 +0800 CST

gitolite 管理员被 fallthru 拒绝

  • 0

我的 Macbook 上的 SSH 密钥和 gitolite 有问题。

Gitolite 在我的 debian 服务器上运行:gitolite3 3.6.4-1 (Debian) on git 2.7.4

gitolite-admin/keydir 我有键 bob.pub 和 admin.pub 它们是不同的键。

我的conf文件基本上是:

# this repo
repo gitolite-admin
    RW+     =   admin

repo myrepo
    RW+     =   bob

我的 ~/.ssh/config 文件只是用来指定我们使用不同的端口:

Host gitserver
    IdentityFile ~/keys/bob
    Port 2222

我正在使用以下命令进行测试:

git clone git@gitserver:myrepo.git

这些是 /home/git/.gitolite/logs/ 下的日志

当从我的 linux 系统 ssh 时,它工作正常。

2016-10-14.15:54:53 11635   ssh ARGV=bob    SOC=git-upload-pack 'myrepo'    FROM=192....
2016-10-14.15:54:53 11635   pre_git myrepo  bob R   any refs/.*
2016-10-14.15:54:53 11635       system,git,shell,-c,git-upload-pack '/home/git//repositories/myrepo.git'
2016-10-14.15:54:53 11635   END

但是,当我在我的 macbook air 上使用 SAME 键做同样的事情时,似乎

2016-10-14.15:56:07 11652   ssh ARGV=admin  SOC=git-upload-pack 'myrepo'    FROM=192.168.0.105
2016-10-14.15:56:07 11652   die R any myrepo admin DENIED by fallthru<<newline>>(or you mis-spelled the reponame)

我认为正在发生的事情:

  1. 底层 ssh 连接使用正确的用户 (git) 和密钥 (bob) 进入服务器。它是使用 /home/git/.ssh/authorized_keys (由 gitolite 生成)完成的,我实际上可以在这个文件中看到command="/usr/share/gitolite3/gitolite-shell bob"与密钥匹配的命令参数是正确的。

  2. 然而,在 ssh 连接之后,由于某种原因,命令更改为使用 bob! 的参数 admin INSTEAD。

再次。它不会发生在我的 linux 机器上。这只发生在我的macbook上。

mac 的工作原理是我可以克隆测试或 gitolite-admin。即使使用 bob 密钥,当它真的应该是管理员密钥时!我认为这实际上可能是 gitolight 中的一个安全漏洞!

我在跑步。3.6.4 并且 3.6.5 或 3.6.6 的发行说明中没有任何内容表明修复。

mac gitolite
  • 1 个回答
  • 4479 Views
Martin Hope
Chelsea Urquhart
Asked: 2014-07-13 19:44:18 +0800 CST

我在使用 Gitolite 设置 IP 限制时遇到了一些问题

  • 3

我在使用 Gitolite 设置 IP 限制时遇到问题。它可能很简单,这是我第一次使用它(我终于从 Gitosis 切换了,因为它不能做我需要的事情)

基本上我的客户站点都有一个 git repo。我推送到那个 repo 并且 post-receive 钩子推送到她的实时站点或开发,这取决于我推送到的位置。无论如何,问题是客户想要访问她网站上的文件,我对此没有意见,但因为她可以访问她在 ~/.ssh 中的 repo 的 SSH 密钥,所以她将直接访问我不想从 Web 服务器外部允许的存储库。

这是我的配置的相关部分:

repo    example.com
        R VREF/FROM/127.0.0.1 = user

除非 Gitolite 生成错误的 authorized_keys 文件,否则这将起作用:

command="/usr/share/gitolite/gl-auth-command user",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ,from="127.0.0.1" ssh-rsa...

问题是 no-pty 之后的空间。删除空间,它工作正常。保留空格,键被忽略。

任何有关如何正确设置的想法都将不胜感激!我真的不想每次更改某些内容时都在 authorized_keys 文件上运行 sed ,除非没有其他办法...

谢谢!

gitolite
  • 2 个回答
  • 331 Views
Martin Hope
pagid
Asked: 2012-10-25 00:38:04 +0800 CST

Gitolite w。Gitweb 和通配符回购

  • 1

使用这样的 gitolite 配置:

    repo    users/CREATOR/.+
            C       =   @defaultgroup
            RW+D    =   CREATOR
            RWD     =   @defaultgroup

我们服务器的用户只需克隆“待创建”存储库即可轻松创建自己的存储库 - 例如:

    git clone [email protected]/users/foo.bar/new

这也出现在我们的 gitweb 中。但是缺少的是一些 git 配置。我一直无法弄清楚如何将工作配置添加到这些新创建的存储库(例如 gitweb.url)?

只是为了比较——这就是“正常”回购的样子:

    repo    normal/repo
            R       =   @all
            RW      =   @defaultgroup
            config  gitweb.url = [email protected]/normal/repo.git
            config  receive.denyNonFastforwards = true

欢迎任何提示,干杯。

gitolite
  • 1 个回答
  • 612 Views
Martin Hope
ReynierPM
Asked: 2012-06-27 13:51:07 +0800 CST

尝试安装 gitolite 时出错

  • 3

我正在尝试按照此http://sitaramc.github.com/gitolite/qi.html中的说明启动并运行 gitolite,但是当我运行命令时:

[git@devserver gitolite]$ src/gitolite install -ln
FATAL: errors found before logfile could be created
FATAL: die  unknown gitolite sub-command

我收到上面的错误,我做错了什么?我将 git 用户创建为:

useradd -d /data/gitrepos git

然后 cd 到 /data/gitrepos 并使用以下命令克隆 gitolite 存储库:

git clone git://github.com/sitaramc/gitolite

有什么建议吗?提前干杯并感谢

centos git repository gitolite
  • 1 个回答
  • 1775 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve