CentOS 搭建 Git伺服器
阿新 • • 發佈:2018-12-16
GitHub是一個免費託管開原始碼的遠端倉庫,但是有時候我們既不想公開原始碼,又不想給GitHub交保護費。如果這時候我們有一臺自己的伺服器,那我們就可以把這個伺服器搭建成一臺Git伺服器作為私有倉庫使用
1.安裝Git
sudo yum install -y git
2.建立一個git使用者和使用者組,用來執行git服務
# 建立git使用者組
sudo groupadd git
# 建立git使用者
sudo useradd -g git git
# 為git使用者新增密碼
sudo passwd git
3.建立證書登入
Window系統下用Git Bash
執行以下命令把公鑰複製到遠端伺服器上
# 把伺服器地址改為自己的伺服器地址
# 過程中會提示輸入密碼,輸入上面為git使用者新增的密碼即可
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]伺服器地址
也可以自己手動把公鑰匯入到/home/git/.ssh/authorized_keys
檔案裡,一行一個。不建議複製貼上,因為Window系統和Linux系統的檔案格式不同,可能就會導致出錯
.ssh的許可權為700 authorized_keys的許可權為600
4.伺服器配置
需要將/etc/ssh/sshd_config
中的RSA認證開啟
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
RSAAuthentication yes應該在
/etc/ssh/ssh_config
檔案中
5.初始化Git倉庫
選定一個目錄作為git倉庫,假定是/home/git/src
,在/home/git/src
目錄下輸入如下命令,建立一個sample.git
資源庫
git init --bare sample.git
6.禁用shell登入(可選)
出於安全考慮,建立的git使用者不允許登入shell,可以通過編輯/etc/passwd
檔案完成。找到下面這一行:
git:x:1003:1003::/home/git:/bin/bash
改為:
git:x:1003:1003::/home/git:/usr/bin/git-shell
這樣git
git
使用者指定的git-shell
每一次登入就自動退出
7.克隆遠端倉庫
現在就可以用git clone
命令克隆遠端倉庫了
#url格式 [email protected]伺服器地址:資源庫地址
git clone [email protected]:/home/git/src/sample.git