本机 TCP 9418 git 服务器,无 ssh

本机 TCP 9418 git 服务器,无 ssh

如何在 ubuntu 系统上设置没有 SSH 的 git 服务器?

我搜索过教程,每个教程都只描述如何设置 SSH 或 HTTP git。我想在 TCP 9418 上使用 git:// 协议设置本机 git 服务器。

我怎样才能做到这一点?

我不想使用 SSH,因为这需要为用户设置帐户。

我的计划是设置一个无需身份验证的读/写 git repo,然后使用防火墙通过源 IP 控制访问(因为所有应该具有 git 访问权限的用户都有一个静态 IP)。

答案1

这或许是一个艰难的挑战。 git 服务器文档非常清楚地描述了设置过程中将面临的挑战,包括设置 xinetd

缺点

Git 协议的缺点是缺乏身份验证。通常,Git 协议不应该成为您项目的唯一访问方式。通常,您会将其与 SSH 或 HTTPS 访问配对,以便少数具有推送(写入)访问权限的开发人员使用,而其他所有人则使用 git:// 进行只读访问。它也可能是设置起来最困难的协议。它必须运行自己的守护进程,这需要 xinetd 配置或类似配置,这并非易事。它还需要防火墙访问端口 9418,而这不是企业防火墙始终允许的标准端口。在大型企业防火墙后面,这个不起眼的端口通常会被阻止。

文档中还有一节关于如何使用 Upstart 将 git 作为守护进程启动.xinetd 将指向该守护进程。

祝你好运!


相关内容