云服务器搭建git服务器

最近参加一个比赛,不想公开源代码,但是github私有仓库的学生认证十分麻烦,于是每个月交了20$左右用了bitbucket的私有仓库,但是不知道因为被墙还是怎么clone仓库速度不超过20k就算了吧,还老是clone一般失去连接。于是捉摸着自己搭一个git服务器,刚好git对此也有良好的支持,操作起来并不复杂。

首先讲一下我的环境,避免环境不一样导致各种各样的问题:

腾讯云服务器ubuntu16.04 LTS 64位

root@xxxx:xxxx# uname -a
Linux VM-88-208-ubuntu 4.4.0-91-generic #114-Ubuntu SMP Tue Aug 8 11:56:56 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

1、安装git(我以root权限在运行,普通用户前面加sudo,没有sudo权限emm)

apt-get install git

2、添加git用户,对用户信息的配置,基本配置的话除了y其他回车就好

云服务器搭建git服务器_第1张图片

3、找一个文件夹作为仓库目录,我这里用了刚才创建用户的home目录

4、创建证书登录,创建/home/git/.ssh/authorized_keys文件,用于保存可登陆证书,一个id_rsa.pub一行

5、初始化一个空仓库,

x

如果不是以git创建就把owner改为git

6、从本地克隆

 git clone git@xxxx:/home/git/repository/WannaWin.git  #xxxx为ip地址

其余pull和push操作和普通git仓库相同。

Tips:

1、ssh公钥生成(先安装git):在本地随便目录鼠标右键,git bash here,按下面操作,把cat的内容全部添加进第四步的文件

 ssh-keygen -t rsa -C "自己邮箱"
# Generating public/private rsa key pair...
# 三次回车即可生成 ssh key

cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc...

2、修改git账户的shell登录

usermod -s /usr/bin/git-shell git  #git为前面创建的用户名

3、端口通信问题,git使用ssh通信,所以默认端口为22,云服务器注意安全组策略是否允许22号端口通信,以及防火墙(iptables)等配置

你可能感兴趣的:(git)