Centos中搭建私有Git仓库

搭建私有Git仓库

  • 交流或更多内容请关注我的公众号:nezha_blog
  • 我的技术博客:https://nezha.github.io
Centos中搭建私有Git仓库_第1张图片
微信公众号

1. 安装Git

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
$ yum install git

接下来我们 创建一个git用户组和用户,用来运行git服务:

$ groupadd git
$ adduser git -g git #添加git用户,名称可以自己设置,不一定要用git
$ passwd git     #修改git用户的密码

这里git的密码是用于客户端git上传下载身份验证要的,如果需要用密钥登录可以用下面的的方式

2. 创建证书登录

注意我们这里代码仓库是放在了/home/git/目录下,用于存放验证密钥的.ssh/也要存在/home/git/

收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
如果没有该文件创建它:

$ cd /home
$ mkdir git
$ chown git:git git/
$ cd /home/git/
$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ chown -R git:git /home/git/.ssh  #设置目录和目录下的authorized_keys文件的拥有者和群组
  • 关于怎么在客户端生成公钥
ssh-keygen -t RSA -C "git"    #使用RSA加密,密钥备注

3. 初始化Git仓库

首先我们选定一个目录作为Git仓库,假定是/home/git/project.git,在/home/git目录下输入命令:

$ cd /home/git/
$ git init --bare project.git
Initialized empty Git repository in /home/gitrepo/runoob.git/

以上命令Git创建一个空仓库,服务器上的Git仓库通常都以.git结尾。然后,把仓库所属用户改为git:

$ chown -R git:git project.git

4. 本地克隆仓库

$ git clone [email protected]:/home/git/project.git
Cloning into 'project'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

5. 关闭git用户的ssh shell登陆(Remote)

$ vim /etc/passwd
$ git:x:1001:1001::/home/git:/usr/bin/git-shell  #找到git用户,在最后添加
#这时候就不能通过shell使用git账号登陆
fatal: Interactive git shell is not enabled.
hint: ~/git-shell-commands should exist and have read and execute access.
Connection to 54.13.87.93 closed.

参考文献:
菜鸟笔记-Git 服务器搭建 --- 菜鸟笔记没有给Git仓库更改所属用户,问题不大
-蛋西的:搭建私有git服务

你可能感兴趣的:(Centos中搭建私有Git仓库)