在CentOS系统上搭建Git服务器是一项常见且实用的任务,特别是在需要管理代码版本控制和团队协作时,本文将详细介绍如何在CentOS系统上安装、配置和使用Git服务器,包括创建用户、初始化仓库、配置SSH访问等步骤。
一、系统环境准备
确保您的系统是CentOS 7.9 64位,并且已安装了SSH服务,如果尚未安装,可以使用以下命令进行安装:
sudo yum install y opensshserver sudo systemctl start sshd sudo systemctl enable sshd
二、安装Git
1、检查是否已安装Git:
rpm aq | grep git
如果已安装,可以使用rpm e nodeps
命令强制删除。
2、使用Yum安装Git:
sudo yum install y git
3、验证安装:
git version
三、创建Git用户并设置权限
1、创建Git用户:
sudo adduser git
2、设置Git用户密码:
sudo passwd git
3、切换到Git用户:
su git
4、创建Git仓库目录并初始化:
mkdir p /home/git/data/repo cd /home/git/data/repo git init bare
5、修改仓库所有者为Git用户:
sudo chown R git:git /home/git/data
6、修改仓库权限:
chmod R 775 /home/git/data
四、配置SSH访问
1、切换到Git用户并创建SSH目录:
su git mkdir p ~/.ssh
2、生成SSH密钥对(如果尚未生成):
sshkeygen t rsa b 4096 C "your_email@example.com"
按照提示完成密钥生成过程。
3、将公钥添加到authorized_keys文件中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
4、设置SSH目录权限:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
五、禁用Shell登录以提高安全性
编辑/etc/passwd
文件,找到Git用户对应的行,将登录shell修改为/usr/bin/gitshell
:
sudo vi /etc/passwd
找到类似以下内容的行:
git:x:1001:1001:,,,:/home/git:/bin/bash
修改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/gitshell
保存并退出编辑器。
六、客户端配置与测试连接
1、在客户端生成SSH密钥对(如果尚未生成):
sshkeygen t rsa b 4096 C "your_email@example.com"
2、将公钥复制到服务器:
sshcopyid git@your_server_ip
3、在客户端测试SSH连接:
ssh git@your_server_ip
输入密码后,如果成功登录,则表示SSH配置正确。
4、在客户端克隆远程仓库:
git clone git@your_server_ip:/home/git/data/repo.git
七、常见问题解答(FAQs)
Q1: 如何更改Git服务器的默认端口?
A1: 要更改Git服务器的默认端口(通常是22),可以编辑/etc/ssh/sshd_config
文件,找到Port
配置项,将其更改为所需的端口号,然后重启SSH服务:sudo systemctl restart sshd
,更改端口后,客户端连接时也需要指定新的端口号。
Q2: 如果忘记Git用户的密码怎么办?
A2: 如果忘记了Git用户的密码,可以通过root用户登录系统,然后使用passwd
命令重置密码,要重置git用户的密码,可以执行sudo passwd git
,然后按照提示输入新密码,请确保新密码符合系统的密码策略要求。