CentOS 7上Git与gitolite安装教程及SSH设置

需积分: 18 2 下载量 126 浏览量 更新于2024-09-07 收藏 3KB TXT 举报
在 CentOS 7 系统中安装和配置 Git 及 gitolite 的详细步骤有助于确保您的开发环境高效且安全。本文将指导您完成从服务器端到客户端的整个安装过程,包括Git的初始设置、SSH密钥的管理以及gitolite的安装和配置。 ### 一、服务器端安装与配置Git 1. 安装Git: 首先,通过 yum 包管理器安装Git: ``` # yum install git ``` 这会安装Git的核心工具,为您的服务器提供版本控制功能。 2. 全局配置Git用户信息: 在命令行中输入以下命令,设置用户名和电子邮件地址: ``` # git config --global user.name "YourName" # git config --global user.email "email@example.com" ``` 这将确保所有提交都有明确的作者信息。 3. 创建Git用户账户: 为了限制Git用户权限,创建一个无密码登录的用户(例如git): ``` # useradd -s /sbin/nologin git ``` 使用这个用户进行Git仓库操作。 4. 初始化Git仓库: 以Git用户身份创建一个裸仓库: ``` # su git # git init --bare learngit.git ``` `learngit.git` 是仓库名称,可以根据实际需求更改。 5. 所有权设置: 确保仓库的所有权归Git用户及其组所有: ``` # chown -R git:git learngit.git ``` ### 二、客户端连接与SSH密钥管理 1. 克隆Git仓库: 使用SSH连接到服务器,格式为: ``` $ git clone <USER>@<IP>:<TheAddressofGitRepo> ``` `<USER>` 是Git服务器上的用户名,`<IP>` 是服务器的IP地址,`<TheAddressofGitRepo>` 是仓库路径。 2. 生成SSH密钥对: 在客户端生成公钥和私钥对: ``` $ ssh-keygen -t rsa -C "youremail@example.com" ``` 按提示操作,通常不需要输入密码。 3. 配置SSH: 打开SSH配置文件 `~/.ssh/sshd_config`,启用RSA和PublickeyAuthentication,并指定authorized_keys文件位置: ``` RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys ``` 4. 添加公钥到服务器的authorized_keys: 将生成的公钥内容追加到authorized_keys文件: ``` $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ``` ### 三、安装和配置gitolite 1. 下载并安装gitolite: 从gitolite官方仓库下载并解压安装包: ``` $ wget https://github.com/sitaramc/gitolite/releases/download/v3.6.3/gitolite3-3.6.3.tar.gz $ tar xzf gitolite3-3.6.3.tar.gz ``` 2. 配置gitolite目录结构: 将gitolite目录复制到服务器的合适位置,例如 `/usr/local/gitolite`: ``` $ sudo cp -r gitolite3-3.6.3/* /usr/local/gitolite ``` 3. 编译并初始化gitolite: ``` $ cd /usr/local/gitolite/ $ make install $ mkdir -p /etc/gitolite/conf ``` 4. 编辑gitolite配置文件: 使用文本编辑器(如vi或nano)创建一个基本的gitolite配置文件(`.gitolite.conf`),定义项目的访问权限: 5. 启动gitolite服务: ``` $ sudo service gitolite start ``` 6. 设置gitolite管理员: 在`.gitolite.conf`中添加管理员账户,并授予相应的权限。 7. 测试和更新gitolite: ``` $ git clone git@yourserver.com:/var/lib/gitolite-admin $ cd gitolite-admin $ git config user.name "Gitolite Admin" $ git config user.email "gitolite@example.com" $ ./bin/gitolite admin git@yourserver.com:repo_name.git ``` 现在,您已经成功安装了Git和gitolite,并配置了基本的SSH连接和权限管理。根据项目需求,您可以为不同的开发者创建不同的仓库并分配相应的访问权限。记得定期备份并监控系统的安全状况。