搭建Git服務(wù)器

系統(tǒng)是Centos7,本文章記錄搭建過程中遇到的問題,方便以后參考

1.安裝git

#yum install -y git

2.創(chuàng)建一個(gè)新用戶為git服務(wù)

useradd git   (添加一個(gè)用戶,用戶名叫g(shù)it)
passwd git  (修改用戶git的密碼)

對(duì)于這個(gè)用戶,你不一定要叫g(shù)it,但是一般的都叫g(shù)it,我們就不再破壞這種規(guī)矩了。
這個(gè)指令之后,在/home下就多了一個(gè)git文件夾,代表我們的git用戶
然后用ssh遠(yuǎn)程連接試下是否能連接,如果無法連接,可能是沒給該用戶這個(gè)權(quán)限,我們可以更改etc/ssh/sshd_config。在其中增加AllowUsers:username(可以多個(gè),空格分開)給普通用戶增加ssh權(quán)限。
這里就是AllowUsers:git

3.創(chuàng)建倉庫

在/home/git下創(chuàng)建我們的項(xiàng)目倉庫,假設(shè)我的項(xiàng)目叫Sample,我們先cd到git目錄下,然后

mkdir sample.git

創(chuàng)建一個(gè)文件夾,這個(gè)名稱你也可以任意,但是一般的習(xí)慣是 項(xiàng)目.git來命名

接著進(jìn)入 sample.git目錄下,使用

git init --bare

創(chuàng)建一個(gè)倉庫,一定要帶bare參數(shù)
然后修改sample.git 的所有者

chown -R git:git **sample.git**/

chown -R 用戶名:所屬群組

4.修改配置文件

進(jìn)入 /etc/ssh 目錄,編輯 sshd_config,打開以下三個(gè)配置的注釋:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

保存重啟sshd服務(wù),命令依據(jù)版本不同有區(qū)別的,可以百度下

5.創(chuàng)建存放公鑰的文件

AuthorizedKeysFile .ssh/authorized_keys

這個(gè)配置表示,我們的公鑰放在.ssh/authorized_keys這個(gè)文件中,而.ssh目錄是在工程目錄的上級(jí)目錄里,也就是/home/git這個(gè)目錄下,我們?cè)谶@個(gè)目錄下創(chuàng)建一個(gè).ssh文件夾,修改.ssh 文件夾的 owner 修改為 git。

chown -R git:git .ssh

6.將客戶端公鑰導(dǎo)入服務(wù)器端 /home/git/.ssh/authorized_keys 文件

我們采用的是ssh連接方式,如果不想每次輸密碼,就需要用密鑰驗(yàn)證,首先在git bash中

ssh-keygen -t rsa -C "472323087@qq.com"

郵箱任意,然后會(huì)讓你輸密碼,直接回車,也就是不填密碼,否則以后你每次都要輸這個(gè)密碼。創(chuàng)建完成會(huì)在c/user/用戶名 下生成一個(gè).ssh文件夾,里頭一個(gè)id_rsa.pub和id_rsa,id_rsa.pub就是給服務(wù)器的,id_rsa你留著用以驗(yàn)證。
公鑰生成完畢,就將它導(dǎo)入服務(wù)器。
打開Git Bash

$ ssh git@server 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

這里補(bǔ)充一點(diǎn),git的地址結(jié)構(gòu)是
用戶名@服務(wù)器ip地址:git倉庫目錄
我們這里的話是

git@192.168.1.10:/home/git/sample.git

執(zhí)行上條命令,會(huì)要讓你輸入git用戶的密碼,這個(gè)密碼就是步驟2里的密碼。然后去服務(wù)器看下我們的
/home/git/.ssh下是否多了一個(gè)authorized_keys 文件,用 cat authorized_keys查看文件內(nèi)容,是否和客戶端的id_rsa.pub內(nèi)容一致。

修改 .ssh 目錄的權(quán)限為 700
修改 .ssh/authorized_keys 文件的權(quán)限為 600
cd 到git目錄下
chmod 700 .ssh
cd 到git/.ssh目錄下
chmod 600 authorized_keys

如此,服務(wù)器配置完畢。

7.從服務(wù)器clone代碼

git bash

git clone git@服務(wù)器ip地址:/home/git/sample.git

然后隨便加點(diǎn)東西看下提交等操作有沒有問題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容