CentOS7下Git私服搭建

前端需要進行系統(tǒng)開發(fā)時墙歪,需要做版本控制,所以打算使用Git進行協(xié)同開發(fā)虑润,但是工作內(nèi)容不好放在github公有倉庫托管戒祠,也沒有資金購買私有托管服務(wù)骇两,所以需要自己搭建一個Git私有倉庫。

搭建環(huán)境為:CentOS7姜盈。

yum源倉庫里的Git版本比較老低千,是1.8.3.1,而Git最新版本已經(jīng)到2.17.0了馏颂,所以使用yum源安裝的Git版本不是最新的示血,如果有需要安裝最新版本的需要進行源碼安裝。本文只記錄使用yum源安裝的過程救拉,不討論源碼安裝难审。

1、首先確保服務(wù)器能上外網(wǎng)亿絮。
2告喊、安裝Git

切換到root用戶下進行安裝操作

[root@localhost ~]# su root

安裝Git

[root@localhost ~]# yum install git

一路默認安裝,完成后使用git --version可以查看git版本

[root@localhost ~]# git --version
git version 1.8.3.1
[root@localhost ~]# 
3派昧、添加git管理的賬戶并設(shè)置密碼
[root@localhost ~]# adduser git
[root@localhost ~]# passwd git

輸入git密碼后確認

4葱绒、git倉庫權(quán)限管理

由于開發(fā)團隊很小,所以通過ssh公鑰進行管理斗锭。

4.1 配置服務(wù)端的ssh訪問
  • 切換到git用戶
    [root@localhost ~]# su - git
    
  • 進入git賬戶的主目錄
    [git@localhost ~]# cd /home/git
    
  • 創(chuàng)建.ssh的配置地淀,如果此文件夾已經(jīng)存在,則忽略該步驟
    [git@localhost git]# mkdir .ssh
    
  • 進入.ssh目錄岖是,并創(chuàng)建authorized_keys文件帮毁,此文件存放客戶端遠程訪問ssh的公鑰
    [git@localhost git]# cd /home/git/.ssh
    [git@localhost .ssh]# touch authorized_keys
    
  • 設(shè)置權(quán)限
    如果不設(shè)置這些權(quán)限,在客戶端連接該倉庫時豺撑,不能免密登錄
    [git@localhost .ssh]# chmod 700 /home/git/.ssh
    [git@localhost .ssh]# chmod 600 /home/git/.ssh/authorized_keys
    

至此烈疚,服務(wù)端的配置基本已經(jīng)完成,接下來就需要在客戶端生成公鑰文件聪轿,并將該文件拷貝到服務(wù)器端爷肝。

4.2、配置客戶端私鑰陆错,并將其上傳到服務(wù)器端
  • 檢查是否已經(jīng)有ssh公鑰和私鑰
    我們開發(fā)環(huán)境是Windows灯抛,所以在C:\Users\用戶名\.ssh下查找是否已經(jīng)有id_rsaid_rsa.pub文件。其中音瓷,id_rsa是私鑰对嚼,id_rsa.pub是公鑰。如果沒有绳慎,則需要創(chuàng)建ssh公鑰和私鑰:
    在打開的cmd窗口中纵竖,使用如下命令創(chuàng)建密鑰對
    ssh-keygen -t rsa
    
    接下來漠烧,三個回車默認即可。
  • 拷貝公鑰到git服務(wù)器
    id_rsa.pub拷貝到服務(wù)器的 /home/git/.ssh/目錄下
4.3 在服務(wù)端天劍客戶端的 ssh公鑰
  • 在服務(wù)器端靡砌,將剛才拷貝的公鑰添加進authorized_keys文件中
    [git@localhost ssh]# cat id_rsa.pub >> authorized_keys
    
    現(xiàn)在已脓,在客戶端可以直接使用ssh的方式登錄服務(wù)器了(這樣不安全,所以接下來要禁止該賬號的shell登錄)
    在客戶端測試用ssh登錄服務(wù)器:
    ssh git@192.168.100.10
    
4.4 在服務(wù)端創(chuàng)建測試git倉庫

進入服務(wù)器終端
切換到git用戶

[root@localhost ~]# su - git

進入git賬號的用戶主目錄

[git@localhost ~]# cd /home/git

創(chuàng)建測試倉庫文件夾test.git通殃,然后進入test.git目錄下

[git@localhost git]# mkdir test.git
[git@localhost git]# cd test.git

初始化該測試倉庫

[git@localhost test.git]# git init --bare

現(xiàn)在摆舟,客戶端就可以clone或者remote add此倉庫了

4.4 在客戶端連接git遠程倉庫

建一個空文件夾,叫git-test
在該目錄下執(zhí)行

git init

向該目錄下添加一張圖片邓了,名為test.jpg恨诱,繼續(xù)執(zhí)行

git add "test.jpg"
git commit -m "add an image"

此時,已經(jīng)將該圖片添加到本地倉庫骗炉,接下來就需要將本地倉庫和遠程倉庫進行連接并同步

git remote add origin git@192.168.100.10:test.git
git push -u origin master
4.5 禁用客戶端的ssh登錄

雖然照宝,現(xiàn)在已經(jīng)可以使用git私服了,但是客戶端可以使用ssh登錄句葵,這樣很不安全厕鹃,接下來就要禁用客戶端的ssh登錄

  • /home/git下創(chuàng)建一個git-shell-commands目錄,并把目錄的擁有者設(shè)置為git賬戶乍丈。
[root@localhost ~]# su - git
[git@localhost ~]# mkdir /home/git/git-shell-commads
  • 修改/etc/passwd文件
[root@localhost ~]# vi /etc/passwd

找到下面這句剂碴,將其注釋掉(1000可能為別的數(shù)字,在前面加一個‘#’符號即為注釋)
git:x:1000:1000::/home/git:/bin/bash
然后在后面添加一行
git:x:1000:1000::/home/git:/bin/git-shell
然后退出保存轻专,此時客戶端再使用ssh登錄忆矛,便會提示如下信息:

$ ssh git@192.168.10.10
Last login: Wed May  9 22:49:57 2018
fatal: Interactive git shell is not enabled.
hint: ~/git-shell-commands should exist and have read and execute access.
Connection to 192.168.100.10 closed.
5 結(jié)尾

現(xiàn)在,Git私服搭建基本已經(jīng)完成请垛,但是還有好多問題自己沒有摸索明白催训,在以后的使用中,可能會不斷學(xué)習(xí)各種操作宗收,到時候再繼續(xù)完善這個搭建過程漫拭!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市混稽,隨后出現(xiàn)的幾起案子采驻,更是在濱河造成了極大的恐慌,老刑警劉巖匈勋,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件礼旅,死亡現(xiàn)場離奇詭異,居然都是意外死亡颓影,警方通過查閱死者的電腦和手機各淀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诡挂,“玉大人碎浇,你說我怎么就攤上這事×祝” “怎么了奴璃?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長城豁。 經(jīng)常有香客問我苟穆,道長,這世上最難降的妖魔是什么唱星? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任雳旅,我火速辦了婚禮,結(jié)果婚禮上间聊,老公的妹妹穿的比我還像新娘攒盈。我一直安慰自己,他們只是感情好哎榴,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布型豁。 她就那樣靜靜地躺著,像睡著了一般尚蝌。 火紅的嫁衣襯著肌膚如雪迎变。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天飘言,我揣著相機與錄音衣形,去河邊找鬼。 笑死姿鸿,一個胖子當(dāng)著我的面吹牛泵喘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播般妙,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼纪铺,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了碟渺?” 一聲冷哼從身側(cè)響起鲜锚,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎苫拍,沒想到半個月后芜繁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡绒极,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年骏令,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片垄提。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡榔袋,死狀恐怖周拐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情凰兑,我是刑警寧澤妥粟,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站吏够,受9級特大地震影響勾给,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜锅知,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一播急、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧售睹,春花似錦桩警、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至捺宗,卻和暖如春柱蟀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蚜厉。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工长已, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人昼牛。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓术瓮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贰健。 傳聞我的和親對象是個殘疾皇子胞四,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容