git 服务器搭建

git 服务器搭建

使用centos服务器搭建git服务器。其实就是想要弄一个自己的私有仓库啦等于。网上看了一下教程,其实不难,不过自己也是遇到了坑就是因为自己之前为了安全配置改了ssh的端口号。后面一度不知道如何处理,最后发现解决起来也不难。

安装git

sudo yum install git

添加git用户

为什么要创建一个git用户呢,是我们希望协作的每个人都可以在仓库里面读写确又不想创建一堆用户在主机上面,所以我们把每个需要写权限的人的SSH公钥加入到git用户的~/.ssh/authorized_keys文件。这样大家都可以访问仓库读写,却又不会让我们创建一堆用户太复杂的操作。

  • sudo adduser gituser 添加用户
  • sudo passwd gituser 设置密码
  • su gituser 切换到gituser用户
  • cd gituser/ 进入工作目录
  • mkdir .ssh && chmod 700 .ssh 添加 .ssh 文件夹并修改其权限为700
  • touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys 新建authorized_keys文件然后修改权限为600
  • 之后将我们的每个客户机的公钥放进 authorized_keys 这个文件,每行放一个。

客户机公钥就是 ssh-keygen -t rsa -C "[email protected]" 命令创建的 id_rsa.pub 文件里面的内容

创建仓库

先进入到gituser的文件目录然后创建一个裸仓库

mkdir srv 创建 srv 目录
cd srv 进入目录
mkdir test.git 新建一个 .git 结尾的目录来存放仓库
git init --bare test.git 初始化一个裸仓库

修改git用户的访问

切换到root用户
编辑/etc/passwd
gituser:x:1001:1001::/home/git:/bin/bash
改为gituser:x:1001:1001::/home/gitadmin:/usr/bin/git-shell
使得gituser只能使用git功能

克隆仓库

$ git clone ssh://gituser@server:port/srv/test.git
Cloning into 'test'...
warning: You appear to have cloned an empty repository.

由于使用了非22号端口,因为一些安全上面的考虑,所以这里我们要标出端口号不然的话默认使用22端口的会报错,当然也可以编辑.ssh/config里面的配置,但是那属于全局配置就不太适合我们继续对其他的仓库的访问。

测试一下

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

总结

大佬们说这个很简单,但是我还是折腾了半小时,感觉还是对Linux的使用不够熟练,总之还是要继续学习。写这个下来,也是提醒之后的自己不要忘记,有时间就重温一下。

参考文献1
参考文献2

你可能感兴趣的:(linux)