搭建属于自己的 Git 服务器

2,458 阅读1分钟

从去年暑假第一次正式使用Git,现在空下来了,也有时间自己做做小实验了。

废话不多说,连上服务器开敲,直播入坑。

  1. 一般来说不更新apt-get肯定出错,果不其然。它也提示你要更新了,所以先敲一边

    apt-get update
    
  2. 然后再安装git

    sudo apt-get install git
  3. 创建一个Git用户,用来运行git服务:

    sudo adduser git
    
  4. 切换到git用户,将你的公钥放到git用户目录下的~/.ssh/authorized_keys里,方法上一篇blog已经写了。

  5. 创建一个裸仓库

    git init --bare XXX
    
  6. 出于安全考虑,第二步创建的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每次一登录就自动退出。
当然你要改回来,直接用root用户去改回来就好了。

  1. 可以克隆远程仓库了
    git clone git@xxx.xxx.xxx.xxx:~/xxx/xxx.git
    

大概就是这样了,已然成功。

自己用用这样足够了,那些大公司就要用Gitosis管理公钥了,权限控制:Gitolite了,作为个人开发者,足矣。