Linux私有Git服务器核心是SSH+裸仓库:创建git用户、配置SSH密钥认证、初始化bare repo,客户端通过git clone git@server:/path克隆协作。

在Linux上搭建私有Git服务器,核心是用git命令行工具配合SSH协议实现安全、轻量的仓库托管,无需复杂Web界面也能高效协作。重点不是装一堆服务,而是理清权限、裸仓库和用户访问这三件事。
准备系统环境与Git基础
确保Linux服务器(如Ubuntu/CentOS)已安装Git并能正常运行:
- 执行
git --version确认Git已安装(推荐2.0+) - 若未安装,Ubuntu用
sudo apt install git,CentOS用sudo yum install git或dnf install git - 创建专用git用户(非root),提升安全性:
sudo adduser git,并禁用其密码登录(后续只走SSH密钥)
配置SSH密钥认证(关键一步)
所有开发者必须用SSH密钥连接,避免明文密码泄露:
- 本地生成密钥对:
ssh-keygen -t ed25519 -C "your_email@example.com" - 将公钥(
~/.ssh/id_ed25519.pub)内容追加到服务器/home/git/.ssh/authorized_keys中 - 设置目录权限:
chmod 700 /home/git/.ssh && chmod 600 /home/git/.ssh/authorized_keys - 测试连接:
ssh git@your-server-ip,成功即表示SSH通道就绪
初始化裸仓库(bare repo)
Git服务器不存工作区文件,只存版本元数据——这就是“裸仓库”:
- 以git用户登录:
sudo -u git -i - 在
/home/git下新建项目目录,例如mkdir -p repos/myapp.git - 进入该目录:
cd repos/myapp.git,然后运行git init --bare - 完成后,该目录就是可被克隆的远程地址:
git@your-server-ip:/home/git/repos/myapp.git
客户端克隆与日常使用
团队成员只需一条命令就能开始协作:
- 首次克隆:
git clone git@your-server-ip:/home/git/repos/myapp.git - 提交后推送:
git add . && git commit -m "init" && git push origin main - 其他人拉取更新:
git pull origin main - 注意:首次推送前需确保远程分支存在,可用
git push -u origin main设上游分支
基本上就这些。不需要Apache、Nginx或GitLab这类重型方案,纯SSH + bare repo 就能支撑中小团队私有代码管理。关键是把权限管住、密钥配对、仓库建对——不复杂但容易忽略。










