美文网首页
linux搭建git私服

linux搭建git私服

作者: 打不开的回忆 | 来源:发表于2019-07-25 23:07 被阅读0次

    最近帮朋友弄git私服,记录一下方便以后操作。
    目标:在linux上搭建一个git服务器,供远程操作项目管理。本篇不做权限管理,通过手动在服务器维护authorized_keys方式授权。如果想参考gitlab 可视化管理方式,请看:Linux搭建gitLab

    搭建环境

    • 服务器 CentOS7.5 + git(version 1.8.3)
    • 客户端 Windows10 + git(version 2.17.1.windows.2)

    一、服务端搭建

    1. 安装git
    yum install git -y //拉取最新git即可
    
    1. 查看git版本
    git --version //正常显示版本表示安装成功
    
    1. 添加git用户
    useradd git //这里不一定非要是 ‘git’这个名字,为了方便使用git
    
    1. 修改git登录密码
    passwd git //修改上一步添加git的用户密码!!!注意密码强度要规范!!!
    

    这里注意密码强度一定要合法,8-16位数字、字母、字符且不能含有用户名,下面就是错误提示

    image.png
    1. 创建一个git空项目
    cd /app/
    mkdir test
    cd test/
    git init --bare test.git  //bare方式创建一个空项目
    

    至此服务端的git已经安装部署好,并且已经生成了一个空目录的git项目,git地址为:git@ip:port/dir/example.git 例如git@127.0.0.1:/app/test/test.git
    如果ssh默认端口22可以省略不写,否则port为对应ssh端口

    二、客户端安装

    1. git官网下载版本安装 https://git-scm.com/downloads
    2. windows电脑打开一个文件夹,右键选择 Git Bash here,在git窗口检验是否安装成功。
    git --version
    
    image.png
    1. 下载服务端的git项目
    git clone 服务ip:/app/test/test.git  //初次链接服务器,会提示是否授信,输入yes即可
    

    4.clone项目时会提示输入密码,直接输入在服务端创建git账号时填写的密码即可。即前面提到的git用户的密码。
    至此客户端应能够下载git代码了,但仅限于用git账号密码ssh链接下载,显然不是我们想要的!如何使用自己的git账号连接远程git服务器进行代码的操作呢?

    三、使用SSH公钥操作git服务器

    1. 客户端生成ssh公钥
    ssh-keygen -t rsa -C "gitEmail@163.com" //一路回车即可
    
    image.png
    1. 找到ssh公钥和私钥,windows客户端C:\Users\你的用户.ssh


      image.png

      id_rsa为私钥,id_rsa.pub公钥,公钥可以配置在git服务器上

    2. git服务器打开RSA认证
      进入 /etc/ssh 目录,编辑 sshd_config,打开以下三个配置的注释:
    RSAAuthentication yes //RSA权限认证
    PubkeyAuthentication yes  //公钥认证(若没有手动添加)
    AuthorizedKeysFile .ssh/authorized_keys //公钥存放地址,这里的.ssh指的是git用户的.ssh目录,非root用户的目录,即/home/git用户/.ssh
    
    image.png
    重启sshd服务
    systemctl restart sshd.service
    
    1. 添加客户端id_rsa.pub到git服务器authorized_keys
    cd /home/git
    mkdir .ssh //如果不存先创建
    cd .ssh/
    chown -R git:git .ssh //授权
    chmod 700 -R git:git /home/git //文件夹权限
    touch authorized_keys
    rz id_rsa.pub
    cat id_rsa.pub >> authorized_keys
    
    1. 关闭git用户shell登录
      git服务端:编辑/etc/passwd文件,将
      git:x:1001:1001:,,,:/home/git:/bin/bash
      改为:
      git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

    至此,已经完成了git服务器的搭建,已经添加ssh公钥的用户,可以在客户端进行git操作了!


    相关文章

      网友评论

          本文标题:linux搭建git私服

          本文链接:https://www.haomeiwen.com/subject/qoyvlctx.html