ubuntu搭建个人git服务器

本文介绍如何在 Ubuntu Server 上安装 Git 和 OpenSSH-Server,并详细说明了创建和配置 Git 仓库的过程,包括用户管理、权限设置及通过 SSH 公钥进行仓库授权的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ubuntu server 端:
    apt install git
    apt install openssh-server

在服务器上部署git仓库:
    mkdir repos
    sudo addgroup git-rw
    sudo chgrp -R git-rw repos
    ls -l
    sudo useradd -M -g git-rw gitteacher
    sudo passwd gitteacher
    sudo useradd -M -g git-rw gitstudent
    sudo passwd gitstudent
客户端:
    mkdir git_teacher
    cd git_teacher/
    git init
    touch README.md
    vim README.md
    git add -A 
    git commit -m"initial commit"
    cd .. && git clone --bare git_teacher git_teacher.git     #退回上一级目录,克隆一个仓库出来
    scp -r git_teacher.git gitteacher@192.168.1.109:/home/ml/repos        #复制裸仓库到服务端
客户端2:
    git clone gitstudent@192.168.1.109:/home/ml/repos/git_teacher.git
服务端:
    sudo chmod -R g+w repos/git_teacher.git 
    ls -l repos/git_teacher.git/

git push origin master # 将本地主分支推到远程主分支
git pull # 抓取远程仓库所有分支更新并合并到本地

使用 SSH 公钥管理 Git 仓库授权:
服务端:
    sudo adduser git
    su git
    cd /home/git/
    mkdir .ssh && chmod 700 .ssh
    touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
客户端:
    cd ~/.ssh/
    ls
    mv id_rsa id_rsa.bak    #备份私钥
    mv id_rsa.pub id_rsa.pub.bak    #备份公钥
    ssh-keygen    #重新生成私钥公钥
    cat id_rsa.pub | ssh git@192.168.1.109 'cat - >> ~/.ssh/authorized_keys'    #导入公钥到服务器
服务端:
    禁止git用户登录shell,只允许git登录git-shell操作
    which git-shell
    sudo vim /etc/shells
    sudo chsh git 
    /usr/bin/git-shell
    exit

使用Git-GUI访问服务器仓库:

TIM_20171106162626

90___H_A3KJ0PGA_EW_3_K
HTZS__91_JYMLMJXJ15QI


本文属于转载:
http://www.jikexueyuan.com/course/1700_3.html?ss=1

<think>嗯,用户想在Ubuntu系统上搭建一个小型Git服务器,我需要整理一下步骤。首先,根据引用里的信息,用户提到了Gitolite、Gitea和GitLab,但用户可能想要一个轻量级的解决方案,所以Gitolite比较合适,像引用[2]里推荐的。那应该按照引用[2]和引用[3]的步骤来指导。 首先,安装必要的软件。引用[3]提到需要安装openssh-server,所以第一步应该是更新系统并安装ssh和git。然后创建一个专用用户,比如git,这样更安全,引用[3]也提到了创建用户。接下来,配置公钥访问,用户需要生成SSH密钥对,把公钥上传到服务器。这部分要注意权限设置,避免安全问题。 然后安装Gitolite,按照引用[2]的步骤,使用git用户克隆仓库,进行初始化设置。这里可能需要处理权限问题,确保git用户有权限操作。初始化之后,测试连接是否正常,能否访问gitolite-admin仓库。 接下来是管理仓库,用户需要克隆gitolite-admin仓库,添加新的用户公钥和仓库配置。这部分需要说明如何编辑配置文件,添加新仓库和用户权限。例如,在conf/gitolite.conf里添加仓库规则,然后在keydir里放用户的公钥文件。 最后,测试新仓库的访问,确保一切正常。用户可能需要创建测试仓库,推送代码,确认权限是否正确。 在相关问题部分,可以对比Gitolite和其他工具,比如Gitea,或者讨论权限管理、迁移仓库到Gitolite,以及备份策略。这些能帮助用户进一步了解相关主题。 需要确保步骤清晰,避免遗漏关键点,比如用户创建、权限设置、公钥处理等。同时,引用对应的参考资料,比如引用[2]和[3],来增强可信度。</think>### 在Ubuntu系统上搭建小型Git服务器教程(基于Gitolite) #### 一、环境准备 1. **更新系统** ```bash sudo apt update && sudo apt upgrade -y ``` 2. **安装必要组件** ```bash sudo apt install git openssh-server perl -y # 基础依赖[^2][^3] ``` #### 二、创建专用用户 1. **新建`git`系统用户** ```bash sudo adduser --system --shell /bin/bash --group --disabled-password git ``` 2. **切换到git用户** ```bash sudo su - git ``` #### 三、密钥配置 1. **客户端生成密钥对**(本地机器执行) ```bash ssh-keygen -t ed25519 # 生成密钥对如id_ed25519.pub ``` 2. **上传公钥到服务器** ```bash scp ~/.ssh/id_ed25519.pub git@服务器IP:/tmp/yourname.pub ``` #### 四、安装Gitolite 1. **克隆仓库** ```bash git clone https://github.com/sitaramc/gitolite mkdir -p $HOME/bin gitolite/install -to $HOME/bin ``` 2. **初始化配置** ```bash $HOME/bin/gitolite setup -pk /tmp/yourname.pub # 自动创建gitolite-admin仓库[^2] ``` #### 五、仓库管理 1. **本地克隆管理仓库** ```bash git clone git@服务器IP:gitolite-admin ``` 2. **添加新仓库** - 编辑`conf/gitolite.conf`: ```conf repo myrepo RW+ = @developers R = @testers ``` - 添加用户公钥到`keydir/`目录 - 提交并推送变更 #### 六、验证测试 ```bash git clone git@服务器IP:myrepo echo "test" > README.md git add . && git commit -m "init" && git push ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值