介绍
本文将介绍 CentOS 7 上的 Git Server 安装与设置。本文使用的 CentOS 7 安装包为 CentOS-7-x86_64-Minimal-1611.iso,安装包大小为680M。Kernel 版本为 3.10.0-514.e17.x86_64。
安装 Open SSH Server
在安装 Git Server 前,首先安装 Open SSH Server 确保 CentOS 7 可以被远程访问。使用 yum 进行安装,使用如下指令确认 Open SSH Server 的安装状态,并安装 Open SSH Server。
<!-- 查看 Open SSH Server 安装状态 -->
# yum list installed | grep openssh-server
<!-- 安装 Open SSH Server -->
# yum install openssh-server
安装完成后可检测到如下安装状态信息。
开放远程访问
需要修改 CentOS 配置文件以开放远程访问。使用如下指令打开配置文件并进入编辑状态。
<!-- 打开配置文件 -->
# vi /etc/ssh/sshd_config
<!-- 在 Vim 模式下进入文件编辑模式 -->
# i
将文件中的选项行修改为如下形式。
原始值 | 修改后值 |
---|---|
#Port 22 | Port 22 |
#ListenAddress 0.0.0.0 | ListenAddress 0.0.0.0 |
#ListenAddress :: | ListenAddress :: |
#PermitRootLogin yes | PermitRootLogin yes |
#PasswordAuthentication yes | PasswordAuthentication yes |
保存文件并退出。
<!-- 退出文本编辑模式 -->
# [esc]
<!-- 保存文件并退出 Vim -->
# :wq
启动 SSH 服务
使用如下指令停止并开启 SSH 服务。
<!-- 停止 SSH 服务 -->
# sudo service sshd stop
<!-- 启动 SSH 服务 -->
# sudo service sshd start
<!-- 重启 SSH 服务 -->
# sudo service sshd restart
确认 SSH 服务正在运行。
<!-- 查看 SSH 服务进程 -->
# ps -e | grep sshd
进程信息存在则表示 SSH 服务运行成功。
安装 Git Server
使用 yum 安装 git,直接使用如下指令。
<!-- 安装 Git -->
# yum install git
安装完成后,得到如下信息。
建立 Git 账户
创建一个单独的 Git 账户用以进行 Git 操作,使用如下命令创建 Git 账户
<!-- 建立账户 -->
# adduser git
<!-- 设置账户密码 -->
# passwd git
该账户不应被用于远程登陆,使用如下指令修改配置文件的对应项。
<!-- 打开配置文件 -->
# vi /etc/passwd
原始值 | 修改后值 |
---|---|
git:x:1000:1000::/home/git:/bin/bash | git:x:1000:1000::/home/git:/usr/bin/git-shell |
开启 SSH RSA 验证
由于关闭了 Git 账户的远程登陆,因此需要启动 SSH 的 RSA 验证以确保可以使用该种方式连接到 Git Server。修改下列配置文件的选项行为对应值。
<!-- 打开配置文件 -->
# vi /etc/ssh/sshd_config
原始值 | 修改后值 |
---|---|
#RSAAuthentication yes | RSAAuthentication yes |
#PubkeyAuthentication yes | PubkeyAuthentication yes |
并确保 “AuthorizedKeysFile” 的值为 “.ssh/authorized_keys”。重启 SSH 服务。
<!-- 重启 SSH 服务 -->
# sudo service sshd restart
创建 SSH Key
接下来需要移步客户端(即开发端,不是上文所述的服务端),为该客户端生成一份 SSH Key。本文以 Windwos 10 x64 系统为例(其他系统可类比)。下载并安装 Git Bash,启动 Git Bash
使用如下指令创建 SSH Key。
<!-- 创建 SSH Key [your infomation] 通常为邮箱 -->
# ssh-keygen -t rsa -C "[your infomation]"
根据提示创建完成。对于 Windows 10 x64 系统创建完成的 SSH Key 通常保存在 “C:/Users/[your]/.ssh” 目录下,有两个文件。
文件名 | 描述 |
---|---|
id_rsa | 私钥文件 |
id_rsa.pub | 公钥文件 |
配置 Git Server
回到服务端,完成最后的配置。进入到 “/home/git” 目录下,使用如下指令创建一个空仓库, “.ssh” 目录以及 “authorized_keys” 文件。
<!-- 进入目录 -->
# cd /home/git
<!-- 创建 Git 仓库 [name] 为仓库名 -->
# git init --bare [name].git
<!-- 创建目录 -->
# mkdir .ssh
<!-- 进入目录 -->
# cd .ssh
<!-- 创建文件 -->
# touch authorized_keys
使用下列指令指定文件和目录的所属为 Git 账户。
<!-- 指定为 Git 账户 -->
# chown -R git.git [name].git
# chown -R git.git /home/git/.ssh/
打开客户端中的 “id_rsa.pub” 文件,将该文件中的全部内容拷贝至服务端中的 “authorized_keys” 文件中。对于 Windows 10 x64 系统,可以使用 SSH 客户端远程连接 CentOS 7 服务端进行文件修改,本文使用 MobaXterm。对于其他系统或者其他拷贝方式,可自行决定。下列指令可查看 CentOS 7 的 IP 信息。
<!-- 查看 IP 信息 -->
# ip addr
验证 Git Server
回到客户端,在 Git Bash 中使用如下指令从服务端中拷贝创建的 Git 仓库。
<!-- 拷贝仓库 [server ip] 为服务端 IP -->
# git clone git@[server ip]:/home/git/[name].git
根据提示确认是否拷贝成功。
结束
本文至此结束,感谢以下文章的作者。