基于CentOS7.6系统搭建远程GIT服务器

0 背景

0.0 GIT是什么

GIT 是一个分布式版本控制软件,同类型的工具软件如 SVN,VSS等。常用的比较成熟的代码托管平台如githubgitlab等。关于GIT不多做介绍,也不熟,但是要用。

0.1 为什么搭建远程GIT服务器

上面提到较成熟的代码托管平台如github,公司内部搭建的gitlab,但因为一些安全原因,内部代码不宜托管在github上(尽管现在有private的项目),使用公司内部的gitlab又不方便在非公司网络里面使用。于是动了自建一个GIT服务器的念头,刚好手里有一个CentOS7.6的VPS服务器,腾讯的,于是就动手搞起。

所以主要的使用背景就是,你不想使用github、gitlab等平台,并且你有一台自己的VPS服务器。

1. 功课

  1. Linux系统SSH证书登录
  2. GIT通过SSH协议拉取和提交代码
  3. RSA认证(强行加上了这个知识点)

2. 过程

# 0. 在服务端执行,安装GIT
[user@hostname ~]$ sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
[user@hostname ~]$ sudo yum install git
# 1. 创建git用户并修改密码,登入git用户
[user@hostname ~]$ sudo adduser git
[user@hostname ~]$ sudo passwd git
[user@hostname ~]$ su - git
# 2. 创建GIT仓库目录,如果主目录为/home/git,repo_git路径就是 /home/git/repo_git
[git@hostname ~]$ mkdir repo_git
[git@hostname repo_git]$ cd repo_git
#    创建项目project.git裸仓库,以.git 结尾,project是仓库名
[git@hostname repo_git]$ git init --bare project.git
#    修改所属用户和组为git,不能执行就加sudo,用root权限
[git@hostname repo_git]$ chown -R git:git project.git
# 3. SSH配置:创建所需目录
#    注:.ssh 及该目录下的文件不能用77x的权限,所以要755 (划重点)!!!!!!!!!
[git@hostname ~]$ mkdir .ssh
[git@hostname ~]$ chmod 755 .ssh
# 4. 收集客户端公钥(客户端生成的*.pub文件)内容并合并到/home/git/.ssh/authorized_keys中,每行一个公钥
[git@hostname ~]$ cd .ssh
[git@hostname .ssh]$ vi authorized_keys
[git@hostname .ssh]$ chmod 755 authorized_keys

客户端使用ssh-keygen生成公钥私钥

# 生成公钥私钥,并保存到 个人目录/.ssh 下
$ ssh-keygen -t rsa -C "youremail@server.com" -f id_rsa
# -t rsa    表示采用RSA加密算法
# -C "youremail@server.com"    备注
# -f id_rsa    文件名,id_rsa可以改成如github_rsa,对用私钥就是github_rsa,公钥github_rsa.pub

上面一套组合拳打完就应该可以在客户端浪起来了

# git-bash中执行
$ git clone git@hostname:/home/git/repo_git/project.git
# 如果不行可以测试一下,看看有什么问题
$ ssh -vT git@hostname

3. 总结

  1. 在服务端安装GIT并创建git用户及创建裸仓库,注意仓库文件的权限要归属于git
  2. 收集客户端的公钥并在服务端配置,注意755的权限

4. 参考资料

  1. GIT软件下载与安装
  2. 在服务器上搭建 Git
  3. Git 服务器搭建
  4. 搭建Git服务器
  5. 生成SSH公私钥
  6. ssh-keygen 基本用法
  7. ssh证书登录(实例详解)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值