基於Gitolite管理的Git伺服器搭建v1 0

2021-07-27 22:38:54 字數 1812 閱讀 4846

客戶端:

在此為方便測試,就不再另外建立使用者,直接使用客戶端root使用者即可生成金鑰對,注意,此處生成的金鑰隊需要和用於ssh鏈結的金鑰對區別開來。

cd /root

ssh-keygen -f ~/.ssh/oreki

將生成的公鑰(my.pub)上傳到伺服器的以備用

scp ~/.ssh/oreki.pub drpeng@ip

:~

為以後方便登陸git伺服器,需要配置乙個訪問git伺服器時的配置檔案

vim ~/.ssh/config

host gitolite #git伺服器別名

user git #服務端管理gitolite的使用者

hostname ip #git伺服器的主機名

port *** #訪問git伺服器時的埠號

identityfile ~/.ssh/oreki

#訪問git伺服器時使用的公鑰檔案,即剛才生成的私鑰

儲存退出

chmod 600 ~/.ssh/config
伺服器端:

安裝git和gitolite

centos7的yum源中包含git安裝包,可以直接yum- y install git進行安裝。然後增加drpeng使用者用來管理gitolite,通關gitolite實現對git和git所有使用者的許可權管理

1.使用root使用者登陸伺服器,並建立git使用者,用以管理git server

useradd -g root -s /bin/bash drpeng

echo

"gitadmin" | passwd git --stdin

2.切換到drpeng使用者,並確保~/.ssh/authorized_keys檔案為空或者不存在

3.在drpeng使用者下安裝gitolite:

mkdir -p $home/bin

gitolite/install -to $home/bin #安裝gitolite

export path=$path:$home/bin

echo

"path=$path:$home/bin" >> .bashrc

gitolite setup -pk /tmp/my.pub #將客戶端的root使用者配置為git的管理員

上面的步驟完成後,我們可以在$home下看到乙個repositories目錄,裡面有兩個倉庫,分別為gitolite-admin.git和testing.git,其中gitolite-admin.git為管理倉庫。

返回客戶端,在客戶端通過root使用者轉殖gitolite-admin庫

git

clone

gitolite

:gitolite-admin

進入gitolite-admin倉庫,會看到兩個目錄,分別為keydir和conf,其中keydir目錄用來管理使用者,在其中可以看到預設有乙個檔案叫做admin.pub,正是我們之前生成的管理使用者的公鑰檔案,如果需要新增git使用者,需要得到新增使用者的公鑰,放入此資料夾中。conf檔案中有乙個名為gitolite.conf的檔案,管理員可以通過修改此檔案來控制git伺服器所有使用者的許可權

bonus:

附1:git基本操作教程

附2:gitolite許可權設定教程

基於Gitolite的Git服務架設

如果不是要與他人協同開發,git根本不需要架設伺服器,git可以直接使用本地版本庫的路徑完成git版本間的操作。但是如果需要和他人分享版本庫,協作開發,就需要能夠通過網路協議操作git庫。git支援的協議很豐富,架設伺服器的選擇也很多,不同的方案有著各自的公優缺點。本文就以gitolite為例構建乙...

Gitolite伺服器的管理

搭建好gitolite伺服器後,伺服器端會生成乙個用於gitolite自管理的git庫.通過git clone git ip gitolite admin命令可以轉殖這個庫進行gitolite的管理 conf gitolite.conf 是乙個授權檔案,通過它配置各個使用者對各個版本庫的訪問許可權,...

使用gitolite管理git許可權

1 伺服器上新增專用管理賬戶git,並在伺服器上安裝git 2 建立本地機器的公私鑰 3 伺服器安裝gitolite 4 倉庫新增與管理 5 新增使用者並管理使用者許可權 6 修改管理員的公鑰 7 修復管理員的許可權 一 伺服器上安裝git略過 二 建立本地機器的公私鑰 ssh keygen f s...