HOME/Articles/

Git私有服务器搭建

Article Outline

通常我们将代码托管到 Github 上非常方便,但是有时候我们不想把代码公开,也不想花费私有仓库的托管费用,这时候可以利用 Git 在自己的服务器上搭建自己的 Git 托管服务。

<!--more-->

创建 git 用户:

sudo adduser git

创建 .ssh 文件夹存储公钥:

cd ~ && mkdir .ssh && chmod 700 .ssh
touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

收集使用者的公钥,用来获取服务器和客户端的通讯许可。通常保存在 ~/.ssh/ 目录下,如果 ~/.ssh 目录下没有本机公钥,就需要创建一个:

ssh-keygen

创建好的公钥一般名为 id_rsa.pub,将这个公钥文件交给 git 服务器的管理员,管理员复制公钥到创建好的 authorized_keys 文件末尾,假设管理员将使用者 John 的公钥文件存储在 /tmp/ 目录下,命名为 id_rsa.john.pub :

cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys

管理员在目录 example 创建空仓库:

sudo git init --bare example.git

出于安全,禁用 shell 登录。修改 /etc/passwd 文件。找到类似行:

git:x:1001:1001:,,,:/home/git:/bin/bash

改为:

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

使用者克隆下来就可以使用了:

git clone git@server:/test/test.git

如果出现权限错误,请让管理员把 test.git 目录的权限用户改为 git。