安装与配置
1. 安装Git
在CentOS系统中,可以通过yum
命令来安装Git,执行以下命令:
sudo yum install git
这将自动下载并安装Git及其相关依赖。
2. 创建Git用户和组
为了安全和管理方便,建议创建一个专门的用户和组来管理Git仓库,执行以下命令:
sudo groupadd git sudo useradd g git git
这将创建一个名为git
的用户和组。
3. 设置SSH访问权限
切换到git
用户,并为其设置SSH访问权限:
sudo su git mkdir ~/.ssh chmod 700 ~/.ssh
这将在git
用户的家目录下创建.ssh
目录,并设置其权限为700。
4. 初始化Git仓库
在git
用户的家目录下或指定位置创建一个文件夹来存储Git仓库。
cd /home/git mkdir myrepo.git cd myrepo.git git init bare
这将创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享。
5. 设置仓库所有权
将Git仓库的所有者修改为git
用户和组:
sudo chown R git:git /home/git/myrepo.git
6. 配置SSH密钥认证
在客户端生成SSH公钥和私钥:
sshkeygen t rsa C "your_email@example.com"
将公钥(id_rsa.pub文件的内容)添加到Git服务器的~/.ssh/authorized_keys
文件中:
echo "your_public_key" >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
这将允许客户端通过SSH密钥进行身份验证,而无需每次输入密码。
7. 禁用Shell登录
出于安全考虑,应禁止git
用户通过shell登录,编辑/etc/passwd
文件,找到类似以下的行:
git:x:1001:1001::/home/git:/bin/bash
将其更改为:
git:x:1001:1001::/home/git:/usr/bin/gitshell
这将使git
用户无法通过shell登录,但仍可以使用SSH进行Git操作。
常见问题解答
问题1:如何查看Git版本?
在终端中输入以下命令:
git version
这将显示已安装的Git版本信息。
问题2:如何克隆远程仓库?
在客户端,使用以下命令克隆远程仓库:
git clone git@your_server_ip:/path/to/your_repo.git
如果一切配置正确,这将克隆远程仓库到本地,而无需输入密码。
通过以上步骤,您已经成功在CentOS上搭建了一个Git服务器,并配置了SSH密钥认证和用户权限管理,您可以开始使用这个服务器进行版本控制和协作开发了。