安装编译 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服务器上)
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操作了!