Done is better than perfect

0%

Git服务器搭建

CentOS安装与配置Git

  1. 使用yum命令安装:
    1
    yum install -y git
  2. 为Git单独创建一个用户
  • 创建用户
    1
    adduser git
  • 修改密码
    1
    passwd git
  1. 创建Git仓库 创建一个目录存放Git仓库,目录/data/git

    1
    2
    mkdir /data/git
    git init --bare Puzzle.git

  2. 将Puzzle.git的拥有者修改为上面创建的git用户

    1
    chown git:git Puzzle.git

  3. 开启ssh key登录 编辑/etc/ssh/sshd_config文件,把下下面三个的注释打开,如果没有自行新建

    1
    2
    3
    RSAAuthentication yes     
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys

  4. 禁用git用户的shell登陆 编辑/etc/passwd文件,找到git用户对应的配置,将最后一个分号的内容修改成/usr/bin/git-shell,如下:

    1
    2
    git:x:1000:1001::/home/git:/bin/bash    #改成如下,
    git:x:1000:1001::/home/git:/usr/bin/git-shell

输入git用户的密码进行验证,至此已完成在服务器配置Git仓库的任务,但是这样每次更新都会要求输入密码,特麻烦,下面章节将介绍更安全便捷的访问方式。

客户端配置

Windows配置

Git的客户端选择使用TortoiseGit。

  1. 下载TortoiseGit,下载地址如下:

    https://tortoisegit.org/download/

  2. 安装TortoiseGit,就跟安装普通应用程序一样,下一步->下一步

  3. 生成Putty Key, 成功安装TortoiseGit后在其安装目录下的bin目录下会有一个PuttyGen的应用程序用于生成Putty key

  4. 启动PuttyGen生成并保存key,如下图:

    生成KEY
    保存KEY
  5. 拷贝公匙到服务器的/home/git/.ssh/authorized_keys文件末尾,注意如果没有相应文件夹或文件请自行创建,注意权限参见“遇到的问题”章节 拷贝KEY

  6. 使用TortoiseGit下载Git仓库 在一个空目录邮件单机,选择Git Clone...,如下图: Clone仓库 Clone详细信息

Mac/Linux配置

  1. 将~/.ssh目录下的id_rsa.pub内容追加到到服务器的/home/git/.ssh/authorized_keys文件末尾。如果没有id_rsa.pub, 可以用ssh-keygen来创建

  2. 在其他电脑上测试能否克隆远程仓库

    1
    git clone ssh://git@192.168.0.172:22/data/git/Puzzle.git

遇到的问题

  1. 在对应用户(git)目录下.ssh的目录权限必须是700, authorized_keys文件必须是600的权限