客戶端:
在此為方便測試,就不再另外建立使用者,直接使用客戶端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...