GitHub就是一個免費託管開源代碼的遠程倉庫。既不想公開源代碼,又捨不得給GitHub交保護費,那就只能自己搭建一臺Git服務器作爲私有倉庫使用。
本文演示如何使用Ubutun 16.04搭建一臺git服務器。
搭建之前建議先 apt-get update
一下,可以避免一些錯誤。
安裝並配置git
sudo apt-get install git
git config --global user.name 'xx'
git config --global user.email 'xx'
創建一個git用戶,用來運行git服務
sudo adduser git
創建證書登錄
第三步,創建證書登錄:
sudo apt-get ssh
sudo ssh-keygen -t rsa -C "email"
上述命令會生成id_rsa.pub 文件,在生成的過程中,爲了不那麼複雜,一路回車就行了。
收集所有需要登錄的用戶的公鑰,就是他們自己的id_rsa.pub文件,把所有公鑰導入到/home/git/.ssh/authorized_keys文件裏,一行一個。
初始化Git倉庫:
先選定一個目錄作爲Git倉庫,假定是/home/git/profile/test.git,在/home/git/profile/目錄下輸入命令:
sudo git init --bare test.git
sudo chown -R git:git sample.git #將所有着改爲git
禁用shell登錄
出於安全考慮,第二步創建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd文件完成。
git:x:1001:1001:,,,:/home/git:/bin/bash
改爲
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
這樣git用戶可以正常通過ssh使用git,但無法登錄shell,因爲我們爲git用戶指定的git-shell每次一登錄就自動退出。
克隆遠程倉庫
$ git clone git@server:/home/git/profile/test.git
Cloning into 'test'...
warning: You appear to have cloned an empty repository.
剩下的推送就簡單了。