美文网首页
ubuntu20.04搭建git裸仓库

ubuntu20.04搭建git裸仓库

作者: ___大鱼___ | 来源:发表于2021-11-11 15:09 被阅读0次
    1. 服务器上安装git
    sudo apt-get install git
    
    2. 创建一个git用户,用来运行git服务:
    sudo adduser git
    
    3. #创建/home/git/.ssh/authorized_keys .ssh文件夹及authorized_keys文件(可以把所有者改为git用户拥有)
    4. 将自己本地的公钥id_rsa.pub加入到服务器, 一行代表一个用户
    $ cd /home/git/
    $ mkdir .ssh
    $ touch .ssh/authorized_keys
    $ chmod 644 .ssh/authorized_keys
    
    5. 初始化Git仓库:
    先选定一个目录作为Git仓库,假定是`/home/dayu/test.git`,在`/home/dayu`目录下输入命令:
    
    sudo git init --bare test.git
    
    6. Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:
    sudo chown -R git:git test.git
    
    7. 修改/etc/ssh/sshd_config下的配置文件, 如果文件不存在则需要开启ssh服务可参考我的Ubuntu如何开启SSH服务的文章
    在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开,即:
    1.PubkeyAuthentication yes     
    2.AuthorizedKeysFile  .ssh/authorized_keys
    

    修改配置之后,需要重启sshd

    systemctl restart sshd.service
    

    可以通过这个命令去测试SSH是否可连接:

    ssh -T git@192.168.148.130 (ip为服务器的地址)

    8. 禁用shell登录:出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
    git:x:1001:1001:,,,:/home/git:/bin/bash
    

    修改为

    git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
    

    这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

    9.克隆远程仓库:
    现在,可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:
    git@192.168.148.130 git代表我们设置的远程服务器的用户名
    $ git clone git@192.168.148.130:/home/dayu/test.git
    Cloning into 'test'...
    warning: You appear to have cloned an empty repository.
    

    相关文章

      网友评论

          本文标题:ubuntu20.04搭建git裸仓库

          本文链接:https://www.haomeiwen.com/subject/fupveltx.html