1. 程式人生 > >【Git】Centos6.5下簡單部署Git伺服器

【Git】Centos6.5下簡單部署Git伺服器

1、安裝git
Git官方網站git-scm.com中,沒有給出Centos版本的安裝案例,但沒關係,我們手動編譯安裝也一樣。準備好原始碼包,我選的1.9.0版本。
a) 將壓縮包git-1.9.0.tar.gz放入任意目錄,假如在usr/local目錄下。
b) 執行解壓縮命令:tar -zxvf git-1.9.0.tar.gz
c) 進入git原始碼目錄:cd git-1.9.0
d) 執行三步常規安裝命令:檢測環境配置並且設定安裝路徑,編譯,安裝;
./configure --prefix=/opt/git
make
make install
e) 驗證安裝成功:git --version


如果輸出:git version 1.9.0,說明安裝成功。

2、新增一個針對git管理的系統使用者
執行命令:sudo adduer git
這時會在home裡面生成名為git的使用者目錄。
注:如果要完全刪除git使用者,可以執行:userdel -r git

3、配置git遠端倉庫
a) 在任意目錄比如srv中新建一個repository空目錄,用於存放所有的git倉庫;
b) cd /srv/repository
c) 初始化一個空git倉庫,git init --bare demo.git ,此時會生成1個demo.git目錄
d) 為demo.git目錄的所有者指定git使用者:chown git:git -R demo.git

4、設定SSH安全認證
客戶端與伺服器的資料通訊需要安全通道,有兩種方式:驗證git使用者密碼和基於RSA的公鑰加密演算法認證,出於對系統安全性考慮以及保證每個倉庫的私密性,通常採用公鑰認證的方式,並且關閉密碼驗證。
Centos6.5中,預設ssh的密碼驗證是開啟的,而RSA認證是關閉的,所以需要先做反向操作,進入/etc/ssh,開啟配置檔案sshd_config:
a) 找到PasswordAuthentication節點並設定為no;
b) 開啟RSA認證,將前面的#去掉,並確保如下配置:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys


c) 重啟SSH服務使配置生效:service sshd restart

5、管理公鑰
上面的AuthorizedKeysFile .ssh/authorized_keys其實就是SSH連線時驗證公鑰的相對路徑,由於我們使用的是git使用者,那麼當我們訪問git伺服器的時候,ssh連線會在git使用者目錄中查詢是否有該路徑,所以我們進入到home/git,建立一個.ssh的空目錄,並在裡面再建立一個authorized_keys的文件,這樣ssh根據AuthorizedKeysFile的值就能找到公鑰,只有能夠解密的私鑰才是安全可信任的客戶端,所以我們需要事先將可信任的客戶端公鑰複製到authorized_keys中,複製多個公鑰需要強制換行來識別。

6、克隆倉庫
基本上配置完這些,就可以實現遠端克隆了,客戶端執行命令:git clone [email protected]:/srv/repository/demo.git