Linux上搭建Git服务器

安装编译 git 时需要的包

yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install -y gcc perl-ExtUtils-MakeMaker

删除已有的 git 

yum remove git

上传并解压git安装包

tar -zxvf git-2.9.3.tar.gz

进入解压目录

cd git-2.9.3

编译安装

make prefix=/usr/local/git all
make prefix=/usr/local/git install

配置环境变量

vim /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_202

export GIT_HOME=/usr/local/git

export MAVEN_HOME=/opt/apache-maven-3.9.5

export PATH=$PATH:$JAVA_HOME/bin:$GIT_HOME/bin:$MAVEN_HOME/bin

 刷新配置

 source /etc/profile

 ------------------------------------------------------------------------------------------------------------------------------

echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc 

source /etc/bashrc 

-------------------------------------------------------------------------------------------------------------------------------- 

检查版本号

git --version

添加git用户

[root@localhost ~]# useradd git

修改git登录密码 (182******49)

[root@localhost ~]# passwd git

创建一个git空项目(随便创建一个 mygit 目录)

[root@localhost ~]# cd /opt/mygit/
[root@localhost mygit]# mkdir test
[root@localhost mygit]# chown git:git test/
[root@localhost mygit]# cd test/

bare方式创建一个空项目

[root@localhost test]# git init --bare test.git

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

[root@localhost test]# chown -R git:git test.git/

至此服务端的git已经安装部署好,并且已经生成了一个空目录的git项目,
git地址为:git@ip:port/dir/example.git 例如 git@127.0.0.1:/opt/mygit/test/test.git
如果ssh默认端口22可以省略不写,否则port为对应ssh端口

使用SSH公钥操作git服务器

1.客户端生成ssh公钥(id_rsa为私钥,id_rsa.pub公钥,公钥可以配置在git服务器上)

参考 Git常用指令-CSDN博客

2.git服务器打开RSA认证

进入 /etc/ssh 目录,编辑 sshd_config,打开以下三个配置的注释:

RSAAuthentication yes //RSA权限认证
PubkeyAuthentication yes  //公钥认证(若没有手动添加)
AuthorizedKeysFile .ssh/authorized_keys //公钥存放地址,这里的.ssh指的是git用户的.ssh目录,非root用户的目录,即/home/git用户/.ssh

重启sshd服务

systemctl restart sshd.service

3.添加客户端id_rsa.pub到git服务器authorized_keys

cd /home/git
mkdir .ssh //如果不存先创建
cd .ssh/
chown -R git:git .ssh //授权
chmod 700 -R git:git /home/git //文件夹权限
touch authorized_keys
rz id_rsa.pub
cat id_rsa.pub >> authorized_keys

4.关闭git用户shell登录

git服务端:编辑/etc/passwd文件,将
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

至此,已经完成了git服务器的搭建,已经添加ssh公钥的用户,可以在客户端进行git操作了!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值