版本信息

  • 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. .NET中的Timer类型用法详解

    这篇文章主要介绍了.NET中的Timer类型用法,较为详细的分析了Timer类型在各种环境下的用法,需要的朋友可以参考下   在.NET FrameWork中有多个Timer,那么怎么根据实际情况进行 ...

  2. 文件上传工具类 UploadUtil.java

    package com.util; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ja ...

  3. ClassNotFoundException异常的解决方法

    java.lang.ClassNotFoundException 说是某个类没有找到,找了下,发现这个类是在项目里面的,那么久奇怪了,为什么应用找不到这个类, 然后用mvn install -Dmav ...

  4. 异机恢复 RMAN-06023: no backup or copy of datafile 17 found to restore

    前不久因工作需要使用RMAN异机恢复,很基础也很具有代表性和普遍性,希望对需要的人有所帮助. 具体过程如下: 先拷贝原库的口令文件和参数文件到备库. 然后使用如下脚本对原库进行备份: run { al ...

  5. 如何修改Oracle字符集

    一.什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系.ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据.它使数据库 ...

  6. hadoop(五): shell命令

    hdfs dfs -cat URI : 查看文件内容 hdfs dfs -cat hdfs dfs -cat hdfs://mycluster/user/root/rcc1 hdfs dfs -cat ...

  7. [linux]BASH 的基本语法

    最简单的例子 -- Hello World! 关于输入.输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 2.1     最简单的例子 -- ...

  8. MongoDB shell 格式化

    直接的方法: db.collection.find().pretty(); 如果想要所有的查询都格式化,可以执行: echo "DBQuery.prototype._prettyShell ...

  9. 剑指offer系列52---约瑟夫环问题

    [题目]0,1,...n排成一个圈,从0开始每次删除第m个数,求圆圈最后个数. * [思路]1 用数组模拟圆圈.当数到最后一个数即index==n时,令index==0 重头开始遍历: * 当遇到已经 ...

  10. Linux命令之at

    1.命令格式:at[参数][时间]2.命令功能:在一个指定的时间执行一个指定任务,只能执行一次,且需要开启atd进程(ps -ef | grep atd查看, 开启用/etc/init.d/atd s ...