zoukankan      html  css  js  c++  java
  • ubuntu 14.04 安装git server

    版本信息

    • ubuntu : 14.04.1
    • git version 1.9.1
    • perl v5.10.1
    • ssh OpenSSH_6.6.1p1

    本次安装的git server使用gitolite实现。

    参考资料

    官网代码库

    https://github.com/sitaramc/gitolite

    官网手册

    http://gitolite.com/gitolite/

    概念

    gitolite依赖ssh公钥私钥鉴权机制。

    ssh 公钥,私钥

    ssh本身支持多种登陆鉴权:

    • 基于口令方式(安全级别低,存在被窃听风险)
    • 基于秘钥方式,安全级别高

    gitolite安装

    安装非常简单,列表如下:

    • 在root或者其它账号下创建公钥,私钥对

      ssh-keygen

      保留 id_rsa 文件
      下载 id_rsa.pub 文件备用

    • root创建git账号

    • 切入到git账号,su - git,克隆官网代码

      git clone git://github.com/sitaramc/gitolite

    • 按照官网介绍的后续安装步骤

    • mkdir -p ~/bin

    • gitolite/install -ln ~/bin

    • gitolite setup -pk yourname.pub
      这里的yourname.pub是刚才留存的pub文件。

    服务端安装基本上结束了。

    服务端管理

    服务端管理是通过特殊仓库 gitolite-admin 来完成。

    任何持有最初创建的公钥私钥对里面的私钥的人,都可以用该私钥克隆gitolite-admin库。

    git clone git@192.168.1.5:gitolite-admin.git

    上面命令有几处需要注意:

    • ip是真实的服务器ip;
    • 冒号后面没有/home/git/repositories路径,不需要,也不能加。
    • 执行该命令的人必须持有 id_rsa 文件,并放入 .ssh 路径。

    管理库克隆出来后,对keydir和conf目录中的文件管理和修改等同于操作一般的git库。
    修改完成后,push到远端,远端会自动解析相关内容,并根据配置增加、删除用户,增加、删除git库。

    可以参考: http://gitolite.com/gitolite/gitolite.html#basic-admin

    理解

    ssh协议的远端地址是可以指定用户的,其实从理论上来说,
    所有人,都是使用git用户的,只是提供给系统的公钥不同,
    服务端根据客户端提供的公钥私钥对来匹配,完成鉴权。

  • 相关阅读:
    mysql函数
    mysql创建函数槽点
    python类内置方法的再学习
    一个python生成器的使用
    爬虫----配合多线程的思路
    爬虫相关基础技术铺垫---多线程Thread和队列Queue应用
    beautifulsoup4 用法一二
    python和CSV
    :( Call to a member function Table() on a non-object 错误位置
    实习生的苦恼
  • 原文地址:https://www.cnblogs.com/morya/p/4256401.html
Copyright © 2011-2022 走看看