SSH公钥搭建Git服务器指南:安全配置与客户端操作

需积分: 10 3 下载量 184 浏览量 更新于2024-09-08 收藏 178KB DOCX 举报
本文档详细介绍了如何搭建一个基于SSH公钥的安全性较高的Git服务器,主要分为服务端和客户端两个部分。在服务端,首先创建一个共享账户`git`,然后配置SSH密钥对以实现无密码访问。步骤包括: 1. **创建共享git用户** 使用`sudo adduser git`创建一个新的git用户,并使用`sudo su - git`切换到该用户。接着,在用户的`~/.ssh`目录下创建`authorized_keys`文件,并确保其权限设置正确(`chmod 700 .ssh` 和 `chmod 600 .ssh/authorized_keys`)。 2. **搭建空版本仓库** 安装Git后,创建一个专用的目录存储所有仓库(例如 `/opt/git`),初始化一个新的Git项目仓库,如`/opt/git/project.git`,并将其所有权分配给git用户。配置仓库为裸库(bare repository)以提高性能,通过`git config --bool core.bare true`和`git init --bare`实现。 3. **访问授权** 将客户端用户的公钥(如`id_rsa.john.pub`)添加到服务器上的`authorized_keys`文件,以便在尝试访问时进行身份验证。 4. **限制shell** 检查并安装git-shell,如果已存在,则更新其路径到`/usr/bin/git-shell`,并将此作为git用户登录时的默认shell。注意,这会导致无法直接通过ssh命令访问,因为git-shell负责处理SSH请求。 在客户端部分,文档针对Windows环境给出以下指南: 1. **安装Git** 从Git官方网站下载适用于Windows的msysGit,并选择合适的安装路径。 2. **运行前配置** 在安装完成后,设置全局的用户名(`git config --global user.name "JohnDoe"`)和邮箱地址(`git config --global user.email johndoe@example.com"`),以便提交时能识别出作者。 通过这些步骤,用户可以建立起一个基于SSH公钥的安全Git服务器,既提高了数据传输的安全性,也简化了客户端与服务器之间的交互流程。对于开发团队而言,这是一个高效的协作工具,可以有效管理代码库的版本控制。