搭建git私有库

centos搭建git私有仓库

现在GitLab和GitHub现在都很成熟,大多数时候大家都会使用他们来当git仓库,但是有些时候公司为了代码安全问题,需要在本地创建git私有库来给大家使用,所以给公司搭了一个git私有库。

私有库环境

我们这里使用的环境是

  • git version 2.21.0
  • centos7
  • centos ip 192.168.1.11

安装git 2.21.0

之所以选择git 2.21.0,是因为公司使用git windows的版本大多都是2.21.0,git私库的版本也选择了相同版本,git仓库和git客户端的版本最好还是相同比较好。
以下命令使用root用户执行。

  1. 打开git官网下载安装包
  2. 右键复制链接地址,打开centos下载到/tmp目录
wget -P /tmp https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.21.0.tar.gz

如果提示没有wget命令,安装wget

yum - install wget
  1. 解压git-2.21.0.tar.gz
tar -zxvf /tmp/git-2.21.0.tar.gz -C /tmp
  1. 安装依赖
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
  1. 删除旧版本git
yum remove -y git
  1. 编译安装
cd /tmp/git-2.21.0
make prefix=/usr/local/git all
make prefix=/usr/local/git install
  1. 配置环境变量
echo 'export GIT_HOME=/usr/local/git' >> /etc/bashrc
echo 'export PATH=$PATH:$GIT_HOME/bin' >> /etc/bashrc
source /etc/bashrc

注意环境变量放在 /etc/bashrc,不要放在 /etc/profile

  1. 查看git是否安装完成
git version

创建git仓库

  1. 创建用户
    该命令使用root用户
useradd demo
passwd demo
#输入两次密码完成创建demo用户
  1. 切换至demo用户,在~/目录创建一个git目录作为git仓库
su demo
cd ~/
mkdir git
cd git
  1. 创建git仓库
git init --bare
  1. 客户端连接git私有库
    该操作是在windows进行,假如使用TortoiseGit则使用TortoiseGit克隆
git clone demo@192.168.1.11:/home/demo/git

按照提示输入demo的密码即可。

git仓库安全配置

上文所示,访问git私库需要输入用户名密码,那么使用者就可以根据用户名和密码使用ssh远程到我们的git仓库服务,这是一件非常危险的事情,所以我们要禁止用户使用ssh远程服务器。

  1. 切换到root用户找到git-shell所在的位置
#退出demo用户,切换到root用户
exit 
#查找git-shell所在位置
find / -name git-shell
# git-shell在我们安装的目录下
# /usr/local/git/bin/git-shell
  1. 配置/etc/passwd
vim /etc/passwd

里面会有一行以demo 开头,将末尾的/bin/bash修改成/usr/local/git/bin/git-shell
修改前
修改后
这时候客户端就不能使用ssh远程到192.168.1.11服务器了,而且不影响使用git。
当然这样做的话执行ssh-copy-id git@192.168.1.11提交公钥的时候也会提示找不到命令,
所以这时候需要root或者同组用户手动拷贝id_rsa.pub秘钥来实现免密操作了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值