使用linux安装gitolite管理git

一旦想查看生成的公钥和秘钥能够施行cd /home/git/.ssh/,id_rsa正是秘钥,id_rsa.pub正是公钥

安装gitolite

  1. 登录到git用户
    sudo su - git
  2. 确保 ~/.ssh/authorized_keys 文件不设有大概为空
  3. 把公钥拷贝到git主目录下
    cp /tmp/YourName.pub $/Home/YourName.pub
  4. 下载并设置gitolite

git clone https://github.com/sitaramc/gitolite
mkdir -p $HOME/bin
gitolite/install -to $HOME/bin
  1. 起头化gitolite, 同不经常候配备管理员
    gitolite setup -pk YourName.pub
    万一以上命令提醒找不到,实施上边包车型客车替代
    $HOME/bin/gitolite setup -pk YourName.pub

 

常用命令

顾客端能够经过ssh远程试行一些限令,以下命令能够查阅扶助:
ssh git@host help
info是最长用到的授命,在指令后跟上’-h’能够查阅命令的用法。

在服务器端有非常丰盛的应用命令,运转gitolite help翻看详细新闻。

5.切换成该顾客的客户目录并安装gitolite

管理组

一点时候使用组来治本客户是那些平价的,下边是多个组:

@staff      =   alice bob carol
@interns    =   ashok
repo secret
    RW      =   @staff
repo foss
    RW+     =   @staff
    RW      =   @interns

组成员能够增加,下边前遭逢@staff的概念和下面的机能是平等的:

@staff      =   alice bob
@staff      =   carol

组也得以分包别的组:

@all-devs   =   @staff @interns

@all是四个非凡组名称,不仅可以指装有的饭店,能够指具备的顾客。

7.切换回git客商,查看配置是还是不是成功。

设置打算

  1. 安装gitolite前,要安装 git,openssh-server和 openssh-client
    sudo apt-get update
    sudo apt-get -y install git openssh-server openssh-client

  2. 预备好你的ssh私钥和公钥
    一贯不的话可在本地实施ssh-keygen -t rsa -C "yourname@example.com
    生成贰个,生成后在~/.ssh/目录里,id_rsa是私钥,id_rsa.pub是公钥,文件生成后得以改名。

  3. 上传公钥
    将公钥上流传服务器备用,比如是/tmp/YourName.pub

 

参谋资料

https://github.com/sitaramc/gitolite

ssh-keygen

本文解说在ubuntu上安装gitolite,为顾客端提供git旅舍服务器功能。ubuntu版本:server
16.04
by kowen

 

拜候准绳示例

gitolite的拜见法则功能庞大,以下是身体力行:

repo foo
    RW+                     =   alice
    -   master              =   bob
    -   refs/tags/v[0-9]    =   bob
    RW                      =   bob
    RW  refs/tags/v[0-9]    =   carol
    R                       =   dave

平整解释:

  • alice对负有branch和tag具有全体权限--create, push, delete,
    rewind/overwrite等等
  • bob能够创造或许fast-forward push名字中不以’master‘起先的branch,可以创制不以v+数字伊始的tag
  • carol只可以够创立v+数字开端的tag
  • dave唯有只读权限,能够clone/fetch。
cd /home/gitadmin/gitolite-admin/conf

增进客户和储藏室

gitolite-admin里面八个文件夹keydir和conf:

  1. keydir存款和储蓄客商的公钥,加多顾客可以一直拷贝客户的公钥到此文件夹;
  2. conf目录里的gitolite.conf是安插文件,格式如下:

repogitolite-admin
    RW+     =   id_rsa
repo    testing
        RW+     =   @all

比方说要加多八个储藏室‘foo’,并给alice,bob和carol不一致的权力,首先把她们的公钥(alice.pub,bob.pub,carol.pub)拷贝到keydir;然后编辑conf/gitolite.conf增添:

repo foo
    RW+         =   alice
    RW          =   bob
    R           =   carol

最后把修改push到服务器:

git add conf
git add keydir
git commit -m "added foo, gave access to alice, bob, carol"
git push

服务器会活动抬高顾客到~/.ssh/authorized_keys,何况增长三个新的空客栈’foo’。

上述操作完毕后,alice、bob和carol就能够将仓库克隆到地面:
git clone git@服务器地址:foo

查看对库房的操作权限,能够在顾客端实行
ssh git@服务器地址 info

 

添加git用户

sudo adduser --system --shell /bin/sh --group --disabled-password --home /home/git git

  • 利用命令增加加上–system参数,客户就不会在登录分界面突显
  • home是git客户主目录,也是git旅馆的储存目录,要是旅馆极大能够放在其余盘中,比方自身的正是/data/git

2)git status 
查看当前货仓的变通,这里应该博览会示keydir/waldon.pub 和
conf/gitolite.conf 七个转移文件

克隆管理库到地面

绝不平素在服务器上成立和管制仓库,仓库管理是由此叫gitolite-admin的客栈进行的,这一个库房在初阶化gitolite时就曾经改动了,管理员能够仿造到地头开展配置,在客商端实施

git clone git@服务器地址/gitolite-admin.git

倘使提醒输入密码,编辑顾客端的~/.ssh/config文件,增加以下内容:

Host 服务器地址
    HostName 服务器地址
    User git
    Port 22
    IdentityFile /home/用户名/.ssh/私钥文件名

系统:centos7

6.推送配置到git服务器

会招致钩子触发战败的操作,进而导致推送失利。

 

图片 1

 

su root

5.预备八个顾客(那四个顾客能够是自定义的,何况她们相互未有读取对方目录的权杖,不然会绕过gitolite,在进行update的hook的时候报处境变量的谬误),这里为了好界别就用git和gitadmin。

三、使用gitolite的来处理客户的权能

 

yum install openssh 
cp  id_rsa.pub  tmp/gitadmin.pub

3)git add . 
增添全数改动

1.开垦另一台湾游顾客端(作者本机使用的是windows系统)

yum install perl

4.这里切换git顾客

3.把gitadmin的公钥复制出来

一、中期策画

 

 

4)git commit -m
“这里的付出注释随意填”  提交全数退换

那七个指令的成效分别是增添顾客和为改客户安装密码

2.在gitadmin那一个客户下生成公钥和秘钥

 

cd

 

su gitadmin

 

su gitadmin
useradd git

实行该命令后,公钥和密码会默以为rsa算法,并且保留在该客商的.ssh目录下,也正是/home/git/.ssh/id_rsa。

cd gitolite-admin

``因为我们前面已经为gitadmin配置了管理权限的公钥,理论是可以直接克隆成功的。

到此处gitolite和大班已经安装实现了

 

 

4.装置cpan(固然您的linux里面未有,就非得安装)

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

升迁输入gitamdin的密码后,就能够见到上传公钥到服务器成功了。

1)下一个winSCP,直接把公文拖过去。记得改一下名字,如:waldon.pub

yum install git

 

 

 

2.安装perl 

法定正式,把公钥的名字设为客户的名字,以便区分。

2.把公钥移到劳动器端gitadmin客商的keydir目录中。

万一对此处的命令不了然能够去探视git的有关命令,若是出现要你布署邮箱和客户名的提醒,按他提示的格式输入就可以。

mkdir -p $HOME/bin

gitolite/install -to $HOME/bin

 

 

1.安装git

passwd gitadmin

1.首先切换来gitadmin登入

有着的整整操作,除了切换客户,都以没有须求密码的,因为秘钥会活动相配,假设出现了特殊要求密码的操作,有望是你绕过了gitolite,

1)cd /home/gitadmin/gitolite-admin
 回到gitolite-admin文件夹下

git clone git@127.0.0.1:gitolite-admin这个地址格式要注意规范,地址写127.0.0.1是因为在同一台服务器,如果想用其他服务器可以更换地址。

 

 

3.我们再切回root顾客,创设三个新客商叫waldon。那么些顾客名要和您公钥的名字同样

发表评论

电子邮件地址不会被公开。 必填项已用*标注