Nikedown's Blog

CentOS搭建git服务器

字数统计: 823阅读时长: 3 min
2019/04/16 Share

安装git

  • 通过yum安装git

    1
    yum install git
  • 查看git是否安装成功

    1
    git --version

安装成功的会返回git版本信息

添加git的管理用户

  • 新建git用户和设置密码

    1
    2
    3
    4
    adduser git
    #adduser后的git是用户的名字,为了以后配置方便最好设为git
    passwd git
    #执行命令后会提示输入密码,输入两次后就行了
  • 进入服务器home目录下通过ll命令查看是否存在名为git的文件夹,存在的话说明

配置服务器的SSH访问

  • 切换到git账号,并创建ssh的默认目录和校验公钥的配置文件
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    su git
    #切换到git用户,最好要切换,不然后面会出现问题
    cd /home/git
    mkdir .ssh
    #创建.shh的配置文件,如果存在该文件夹就不用创建
    cd /home/git/.ssh
    touch authorized_keys
    #进入刚创建的.ssh目录并创建authorized_keys文件,此文件存放客户端远程访问的 ssh的公钥
    chmod 700 /home/git/.ssh/
    chmod 600 /home/git/.ssh/authorized_keys
    #设置权限,此步骤不能省略,而且权限值也不要改,不然会报错

服务器添加客户端公钥

  • 先进入客户端用户主目录检查是否已经存在ssh公钥和私钥
    Windows系统的ssh公钥和私钥一般放在C:\Users\ASUS.ssh目录下,进入后会看到这两个文件

    没有的话就在客户端创建ssh私钥
    1
    ssh-keygen -t rsa

输入命令后一直按回车默认就行了,创建成功后C:\Users\ASUS.ssh就会存在公钥文件is_rsa.pub

  • 拷贝公钥到服务器中
    最简单的方式就是直接用写字板打开is_rsa.pub,复制里面的内容再粘贴到服务器中之前创建的authorized_keys文件中
    完成这些步骤后客户端就可以直接通过ssh用git账号登录服务器(这样登录不安全,后面会添加控制)
    1
    2
    3
    ssh git@server_ip
    #server_ip为服务器的ip地址或是域名
    #第一次会出现警告,输入yes即可。

正常情况下是不需要输入密码的,如果连接时要输入密码请返回前几点看有什么遗漏,并且成功的话会出现以下显示

服务器上创建测试git仓库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
su git
# 切换到git账号

cd /home/git
# 进入git账号的用户主目录。

mkdir test.git && cd test.git
# 在用户主目录下创建 test.git仓库的文件夹

git init --bare
# 在test.git目录下初始化git仓库

# 输出如下内容,表示成功
Initialized empty Git repository in /home/git/test.git/
  • 客户端测试连接git远程仓库
    1
    git clone git@server_ip:/home/git/test.git

如果能克隆下来说明已经成功了(不能成功请仔细查看错误信息)

禁止客户端shell登录

因为前面我们添加了客户端的ssh的公钥到远程服务器,所以客户端可以直接通过shell远程登录服务器,这不安全,因此禁用shell登录

  • 修改/etc/passwd文件
    1
    2
    3
    4
    5
    6
    7
    8
    vim /etc/passwd
    #通过vim修改passwd文件

    # 找到这句, 注意1000可能是别的数字
    git:x:1000:1000::/home/git:/bin/bash

    # 改为:
    git:x:1000:1000::/home/git:/bin/git-shell

完成之后就搭建好git服务器了
参考博客1
参考博客2

原文作者:nikedown

发表日期:April 16th 2019, 1:06:32 pm

更新日期:April 18th 2019, 5:39:03 pm

CATALOG
  1. 1. 安装git
  2. 2. 添加git的管理用户
  3. 3. 配置服务器的SSH访问
  4. 4. 服务器添加客户端公钥
  5. 5. 服务器上创建测试git仓库
  6. 6. 禁止客户端shell登录