zoukankan      html  css  js  c++  java
  • git服务器搭建(ssh)

    需求:搭建一个git服务器,满足十来号人git托管;比较简单的认证机制;

    步骤如下:

      1. Linux服务器需要先安装git;

      2.创建一个名叫git的用户    adduser git    //注意切换root权限。单独创建git用户,之后会限制以git用户登录服务器的操作。由于我们使用ssh认证方式托管项目,避免了认证用户对服务器的其它操作。

      3.进入/home目录下会找到一个git文件夹,这是Linux给每个账户增加的用户文件夹。

        a.进入git文件夹,创建 .ssh/ 文件夹, 进入.ssh/,创建authorized_keys 文件。   

        b. authorized_keys文件用于保存使用该服务人员ssh公钥。 // ssh公钥一般保存在  ~/.ssh/id_rsa.pub, 如果没有需要自行创建, ssh-keygen -t rsa -C "youremail@example.com"

     

      4.选定一个文件夹作为git仓库。以 /srv/ 为例子:

        a.创建一个git纯仓库   git init --bare example.git

        b.通过 ls -al 查看,example.git 文件夹仍然属于root用户。修改文件夹拥有者。

          chown -R git:git example.git

       5.限制git用户对服务器操作

        a.我们只希望git用户能对/srv下的项目有推送拉取的操作,不希望通过git用户登录服务器。可以使用git自带的git-shell控制.

        b.编辑 vim /etc/passwd 文件, 找到这样的一行    git:x:1001:1002::/home/git:/usr/bin/bash

          修改为 git:x:1001:1002::/home/git:/usr/bin/git-shell

        c./usr/bin/git-shell 的路径可通过  whereis git-shell 查找

        d.操作结束后,可尝试 ssh git@域名   登录,发现登录后立马退出。

       

      至此,一个简单的git服务架设完成。

    使用:

      git clone git@服务器地址:/srv/example.git 

       进行正常拉取推送

    加入小伙伴:

      登录服务器 /home/git/.ssh/authorized_keys  增加小伙伴公钥

    创建新的项目:

      登录服务器进入  /home/git ,     git init --bare newone.git ,    修改newone.git文件所属权限

    局限性:

      创建新项目操作麻烦;

      权限认证单一;

     

        

  • 相关阅读:
    一:字符串中匹配中文
    flask+gevent的异步框架
    linux常见的操作指令
    Markdown语法
    Git常用操作
    Vim
    IDEA使用汇总
    Maven基本使用汇总
    Zookeeper问题汇总
    编程最佳实践
  • 原文地址:https://www.cnblogs.com/hexisen1991/p/7735815.html
Copyright © 2011-2022 走看看