版本信息

  • 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用户的,只是提供给系统的公钥不同,
服务端根据客户端提供的公钥私钥对来匹配,完成鉴权。

ubuntu 14.04 安装git server的更多相关文章

  1. ubuntu 14.04 安装svn server (subversionedge )

    ubuntu 14.04 安装subversionedge 请仔细阅读安装包自带的readme文件! 1.先去官网,找安装包: http://subversion.apache.org/ http:/ ...

  2. ubuntu 14.04 安装mysql server初级教程

    序,mysql数据库是开源的,被大多数企业所使用 目录 一.apt-get install 软件安装原理剖析二.安装mysql server三.配置和管理msyql 一.apt-get install ...

  3. ubuntu 14.04 安装mysql server的分支MariaDB Server初级教程

    序,MariaDB Server是Mysql的fork版本,与Mysql完美兼容,mysql在10年被sun收购,后sun被oracle收购,后mysql的创建者及项目长期技术带头人之一的Michae ...

  4. ubuntu 14.04安装quickbuild server (一)

    官网: http://www.pmease.com/ 指导网站: http://wiki.pmease.com/display/QB60/ 1.  安装quickbuild server ------ ...

  5. ubuntu 14.04安装mysql server & mysql client

    $ sudo apt-get install mysql-server

  6. ubuntu 14.04 安装torch及编译环境zbstudio

    ubuntu 14.04 安装torch及编译环境zbstudio torch zbstudio 本来是安装官网给的步骤安装torch的,可是碰到一系列的问题,后来参考网上的安装方法安装成功了 官网安 ...

  7. Ubuntu 14.04 安装 sysrepo v0.7.5

    参考: Tentative gNMI support with sysrepo protobuf-c/protobuf-c Ubuntu 14.04 安装 sysrepo v0.7.5 安装依赖: s ...

  8. ubuntu 14.04安装 DevStack的脚本配置文件——localrc

    本文ubuntu 14.04安装 DevStack的脚本配置文件——localrc,本文件名已经逐渐被取代,但是出于后向兼容性,使用该文件仍然可以为stack.sh安装脚本指定安装DevStack时的 ...

  9. Ubuntu 14.04 安装libssh

    参考: libssh [CMake] include command Ubuntu 14.04 安装libssh $ git clone https://github.com/substack/lib ...

随机推荐

  1. 【转】JS跨域(ajax跨域、iframe跨域)解决方法及原理详解(jsonp)

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

  2. python数据类型之list

    1.append:增加元素到列表尾部 L.append(object) -> None -- append object to end 2.clear:清空列表中所有元素 3.count:返回列 ...

  3. 数据接口管理工具 thx RAP

    RAP是数据接口管理工具.在开发时前端将请求转至RAP,由RAP提供模拟数据:而后端使用RAP测试接口的正确性.这样RAP就成为了开发过程中的强 依赖,进而确保接口文档的实时正确性.RAP采用JSON ...

  4. net cookie操作

    写入方法: HttpCookie cookie = new HttpCookie("id"); cookie.Value=cookieValue; cookie.Expires = ...

  5. 服饰行业淘宝商城店铺首页设计报告-转载自http://bbs.paidai.com/topic/88363

    店铺的设计 和 美工是2个完全不同的工作. 很多中小卖家,往往会模糊他们之间的差别. 好比要建造一座金茂大厦,先要有建筑设计师设计图纸,明确好建造的楼层数,具体框架结构,所用材料等等. 然后建筑施工队 ...

  6. .net平台的RSA实现以及与Delphi之间的互操作性

    .net平台下面的RSA算法实现是RSACryptoServiceProvider,如果安装了 Microsoft Enhanced Cryptographic Provider,则 RSACrypt ...

  7. of

    “查询序列的一个元素” 1. an element of the query sequence (T) 2. an query sequence element (T) "查询序列或者候选序 ...

  8. Maven 和 Ant 的区别?

    Maven 和 Ant 有什么不同呢?在回答这个问题以前,首先要强调一点:Maven 和 Ant 针对构建问题的两个不同方面.Ant 为 Java 技术开发项目提供跨平台构建任务.Maven 本身描述 ...

  9. 预定义宏__GNUC__和_MSC_VER

    一.预定义__GNUC__宏 1 __GNUC__ 是gcc编译器编译代码时预定义的一个宏.需要针对gcc编写代码时, 可以使用该宏进行条件编译. 2 __GNUC__ 的值表示gcc的版本.需要针对 ...

  10. 限制页面内部链接访问源-HTML注释

        不知道大家有没有碰到过这样一个问题:我修改的是别人的网页,他的超连接是指向一个服务器的某个HTML文件,我把超连接地址修改成了我本地机器的跟首页 同一目录下的一个HTML文件,却发现超连接根本 ...