本人linux 是:centos-7.6, kernel是:3.10.0-957.12.1.el7.x86_64
现在搭建一个git server

1.安装 Open SSH Server

目的是确保我们的linux系统能够被ssh远程访问。安装命令如下:

// 查看 open ssh server的安装状态
# yum list installed | grep openssh-server

// 安装 open ssh server
# yum install openssh-server

如果安装成功,查询出来结果如下:

[root@git-server ~]# yum list installed | grep openssh-server
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
openssh-server.x86_64          7.4p1-16.el7             @base

1.1. 开放远程访问权限

修改Linux的配置文件,开放远程访问。

<!-- 打开配置文件 -->
# vim /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

1.2. 启动ssh 服务

使用下面命令开启:

//Centos7 开始用 systemctl 来开启service服务
<!-- 停止 SSH 服务 -->
# systemctl stop sshd.service
<!-- 启动 SSH 服务 -->
# systemctl start sshd.service
<!-- 重启 SSH 服务 -->
# systemctl restart sshd.service

===老版本的Centos需要下面命令==== 
<!-- 停止 SSH 服务 -->
# sudo service sshd stop
<!-- 启动 SSH 服务 -->
# sudo service sshd start
<!-- 重启 SSH 服务 -->
# sudo service sshd restart

如果sshd启动成功,查询systemctl status sshd.service结果如下

centos7安装opencv centos7安装openssh-server_centos7安装opencv

2. 安装git server

使用yum 安装

<!-- 安装 Git -->
# yum install git

2.1 建立git 账户

在Centos7里创建一个新账户用于专门管理git操作,命令如下:

<!-- 建立账户 -->
<!--格式:useradd [-u UID] [-g 初始用户组] [-G 次要用户组] [-d 主文件夹绝对路径] [-s shell] -m 用户账户名 -->
# useradd -d /home/git -s /bin/bash git 
<!-- 设置账户密码 -->
# passwd git

该账户不应被用于远程登陆,使用如下指令修改配置文件的对应项。

<!-- 打开配置文件 -->
# vi /etc/passwd

原始值

修改后的值

git:x :1000:1000::/home_local/git:/bin/bash

git: x:1000:1000::/home_local/git:/bin/git-shell

2.3. 开启 SSH RSA 验证

由于关闭了 Git 账户的远程登陆,因此需要启动 SSH 的 RSA 验证以确保可以使用该种方式连接到 Git Server。修改下列配置文件的选项行为对应值。

原始值

修改后值

#RSAAuthentication yes

RSAAuthentication yes

#PubkeyAuthentication yes

PubkeyAuthentication yes

重启 SSH 服务。# systemctl restart sshd.service

2.4. 创建 SSH Key

<!-- 创建 SSH Key [your infomation] 通常为邮箱 -->
# ssh-keygen -t rsa -C "[your infomation]"

2.5. 配置 Git Server

回到服务端,完成最后的配置。进入到 “/home/git” 目录下,使用如下指令创建一个空仓库, “.ssh” 目录以及 “authorized_keys” 文件。

<!-- 进入目录 -->
# cd /home/git
<!-- 创建 Git 仓库 [name] 为仓库名 -->
# git init --bare [name].git
<!-- 创建目录 -->
# mkdir .ssh
<!-- 进入目录 -->
# cd .ssh
<!-- 创建文件 -->
# touch authorized_keys

/home/git文件和目录下所有文件权限转为 git 账户。

# chown -R git.git /home/git

打开客户端中的 “id_rsa.pub” 文件,将该文件中的全部内容拷贝至服务端中的 “authorized_keys” 文件中。对于 Windows 10 x64 系统,可以使用 SSH 客户端远程连接 CentOS 7 服务端进行文件修改,本文使用 MobaXterm。对于其他系统或者其他拷贝方式,可自行决定。下列指令可查看 CentOS 7 的 IP 信息。

2.6 验证 Git Server

回到客户端,在 Git Bash 中使用如下指令从服务端中拷贝创建的 Git 仓库。

<!-- 拷贝仓库 [server ip] 为服务端 IP -->
# git clone git@[server ip]:/home/git/[name].git