引言

在团队协作或个人项目中,Git作为版本控制系统已经成为了开发者的常用工具。为了方便管理和协作,搭建一个Git服务器是很有必要的。本文将详细介绍如何在CentOS系统上搭建Git服务器,并设置密码认证,确保仓库的安全性。

准备工作

在开始之前,请确保您的CentOS系统已满足以下条件:

  • 已安装Git
  • 已安装SSH服务
  • 拥有root权限

步骤一:安装Git

使用以下命令安装Git:

sudo yum install -y git

步骤二:创建Git用户

创建一个专门用于运行Git服务的用户:

sudo adduser git

为Git用户设置密码:

sudo passwd git

步骤三:创建Git仓库

选择一个目录用于存放Git仓库,例如/home/git/repositories

sudo mkdir -p /home/git/repositories

切换到Git用户:

sudo su - git

/home/git/repositories目录下创建一个裸仓库,例如my-repository.git

cd /home/git/repositories
git init --bare my-repository.git

步骤四:配置SSH访问

在CentOS服务器上配置SSH访问,允许用户通过SSH连接到Git服务器。

编辑SSH配置文件:

sudo nano /etc/ssh/sshd_config

修改以下配置项:

  • PermitRootLogin no:禁止root用户登录
  • PasswordAuthentication yes:允许密码认证(可选,推荐使用密钥认证)

保存并退出文件,重启SSH服务:

sudo systemctl restart sshd

步骤五:设置密码认证

为了通过密码认证访问Git仓库,需要在Git用户目录下创建.ssh目录和authorized_keys文件。

切换到Git用户:

sudo su - git

创建.ssh目录和authorized_keys文件:

mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys

将客户端SSH公钥添加到authorized_keys文件中:

cat ~/.ssh/id_rsa.pub >> .ssh/authorized_keys

保存并退出文件。

步骤六:测试Git服务器

在客户端,通过SSH连接到Git服务器并克隆仓库:

git clone git@yourserver.com:/home/git/repositories/my-repository.git

当提示输入密码时,输入步骤二中设置的Git用户密码。

总结

通过以上步骤,您已在CentOS系统上成功搭建了一个Git服务器,并设置了密码认证。这样,您的Git仓库就更加安全,可以放心地进行版本控制和团队协作。