在Ubuntu 12 04 上 搭建 Git伺服器

2023-01-11 01:40:48 字數 3257 閱讀 1868

通常,git伺服器上需要安裝openssh server、git、gitosis和apache2(如果想使用gitweb的話)。

一、git服務端 安裝

1、安裝openssh server

首先,使用ps -e|grep ssh命令,檢查本機上是否已經執行ssh服務。如果沒有,繼續;否則,跳過此步驟。

執行命令:

sudo apt-get install openssh-server

[email protected]:~#ps -e|grep ssh

766 ?        00:00:00 sshd

2062 ?        00:00:00 ssh-agent

2400 ?        00:00:00 sshd

2、修改ssh服務端配置檔案

/etc/ssh/sshd_config

(當前使用者為wirror800)

port 22 # 修改成你想要的登陸埠,如2222

permitrootlogin no # 禁止root使用者登陸

strictmodes yes # 檢查金鑰的使用者和許可權是否正確,預設開啟的

rsaauthentication yes # 啟用 rsa 認證

pubkeyauthentication yes # 啟用公鑰認證

passwordauthentication no # 禁止密碼認證,預設是開啟的

serverkeybits 1024 # 修改後變為此狀態,將serverkey強度改為1024位元

permitemptypasswords no # 修改後變為此狀態,禁止空密碼進行登入

修改完成後,重啟ssh服務:

sudo /etc/init.d/ssh restart

注意:至此,服務端ssh的操作就已經結束了。網上說的“

id_rsa檔案拷貝到client端的~/.ssh/目錄下,將id_rsa.pub拷貝到

server端的~/.ssh/目錄下,改名為authorized_keys

”其實都是不準確的。id_rsa是使用

ssh-keygen生成的rsa私鑰,

id_rsa.pub

是同時生成的公鑰,伺服器端通訊使用的祕鑰可以應該由伺服器管理員來建立和管理,如果你想把當前使用者wirror800作為管理

3.安裝git

(當前使用者為wirror800)

apt-get install git-core

4.安裝gitosis(為什麼要使用gitosis是大家首先需要明確的問題)

(當前使用者為wirror800)

獲取gitosis安裝包;

[email protected]:~$

mkdir ~/.gitosis_setop

[email protected]:~$

cd ~/.gitosis_setop/

[email protected]:~/.gitosis_setop$

git clone git:

如果這個不行:

cloning into 'gitosis'...

fatal: unable to connect to eagain.net:

eagain.net[0: 208.78.102.120]: errno=connection refused

則可從如下位置clone gitosis包:

git clone

cloning into 'gitosis'...

remote: counting objects: 727, done.

remote: compressing objects: 100% (216/216), done.

remote: total 727 (delta 510), reused 701 (delta 495)

receiving objects: 100% (727/727), 111.73 kib | 44 kib/s, done.

resolving deltas: 100% (510/510), done.

安裝gitosis包;

[email protected]:~/.gitosis_setop$

cd gitosis/

[email protected]:~/.gitosis_setop/gitosis$ sudo python setup.py install失敗了;

若報錯,可通過如下命令解決:

[email protected]:wget

[email protected]:python ez_setup.py

5. 為gitosis建立系統使用者

(當前使用者為wirror800)

sudo adduser --system --shell /bin/sh --gecos 'git scm user' --group --disabled-password --home /home/git  git

這種方法是網上比較常見的方法,建立的是一個禁用密碼的git使用者,但在使用su命令切換git使用者的時候,空密碼老是

sudo useradd -m git

sudo passwd git

把所有使用者的公鑰儲存在 authorized_keys 檔案的做法,只能湊和一陣子,當使用者數量達到幾百人的規模時,管理起來就會十分痛苦。每次改刪使用者都必須登入伺服器不去說,這種做法還缺少必要的許可權管理 — 每個人都對所有專案擁有完整的讀寫許可權。

幸好我們還可以選擇應用廣泛的 gitosis 專案。簡單地說,gitosis 就是一套用來管理 authorized_keys 檔案和實現簡單連線限制的指令碼。有趣的是,用來新增使用者和設定許可權的並非通過網頁程式,而只是管理一個特殊的 git 倉庫。你只需要在這個特殊倉庫內做好相應的設定,然後推送到伺服器上,gitosis 就會隨之改變執行策略,聽起來就很酷,對吧?

gitosis 的安裝算不上傻瓜化,但也不算太難。用 linux 伺服器架設起來最簡單 — 以下例子中,我們使用裝有 ubuntu 8.10 系統的伺服器。

gitosis 的工作依賴於某些 python 工具,所以首先要安裝 python 的 setuptools 包,在 ubuntu 上稱為 python-setuptools:

在Ubuntu上搭建git伺服器

在ubuntu上搭建git伺服器的詳細步驟 1.安裝git linux作為伺服器端系統,windows作為客戶端系統,分別安裝git 伺服器端 admin admin su root 切換到root使用者名稱 password 輸入root使用者的密碼 root admin apt get inst...

在ubuntu上搭建ftp伺服器及使用

搭建ftp伺服器 參考 1,安裝服務 sudo apt get install vsftpd 2,判斷是否成功 sudo service vsftpd restart 3,更改配置檔案 etc vsftpd.conf sudo vim etc allowed users 當userlist enab...

在ubuntu上搭建FTP伺服器

1 安裝ftp軟體源 sudo apt get install vsftp 2 安裝完畢ftp會自動為我們建立帳戶,這時候設定密碼就可以了 sudo passwd ftp 按提示輸入即可 3 建立ftp使用者的home目錄,使用sudo mkdir home ftp命令 4 設定home目錄許可權c...