Ubuntu 18.04搭建Git服务器
學(xué)習(xí)鏈接:博客園、廖雪峰
一 前言
前面已經(jīng)貼了兩個鏈接,為什么還要再寫一篇呢,因?yàn)榭赡苡捎趥€人能力問題,我覺得上面兩篇寫的都有點(diǎn)簡略,有些地方不太好理解,并不能一次性成功搭建,所以想根據(jù)自己踩過的坑再寫一篇更詳細(xì)的。所以如果有用戶搜到了這篇文章且看完沒有成功搭建,請評論中回復(fù)讓我知道原因繼續(xù)完善,謝謝!
另外,本次安裝不涉及權(quán)限管理,因?yàn)橹皇亲约簻y試,還未用于生產(chǎn)環(huán)境。
二 準(zhǔn)備環(huán)境
本次測試使用兩臺虛擬機(jī),一臺Ubuntu系統(tǒng)作為Git服務(wù)器(以下稱為服務(wù)器),一臺CentOS系統(tǒng)作為客戶端(以下稱為客戶端)
三 配置服務(wù)器
第一步:檢查服務(wù)器是否安裝了ssh服務(wù),這個沒記錯的話Ubuntu是自帶有的,如果沒有安裝即可
第二步:安裝git,具體方法請看官網(wǎng)文檔,包含了Ubuntu和CentOS系統(tǒng)的安裝方法,安裝完畢在終端中執(zhí)行git --version命令,如正常輸出版本號,說明安裝成功。
第三步:修改hsots配置,在hosts文件中將服務(wù)器的IP指向gitserver,將客戶端的IP指向gitclient,如下圖:
?
第四步:在服務(wù)器上創(chuàng)建git用戶,
sudo useradd git
然后賦予管理員權(quán)限,即將其加到/etc/sudoers文件中,添加時參考root的配置即可
第五步:在服務(wù)器上創(chuàng)建代碼倉庫,這里我在/home/git/repo下執(zhí)行命令:
git –bare init /home/git/sample.git
成功執(zhí)行后在服務(wù)器上創(chuàng)始了sample.git文件夾,如下圖:
?
然后將該文件夾所有者設(shè)為git,執(zhí)行如下命令:
sudo chown -R git:git sample.git
到此,Ubuntu服務(wù)器的配置完畢,接下來配置客戶端。
四 客戶端配置
第一步:同樣,在客戶端確認(rèn)ssh是否有安裝,并安裝git
第二步:修改客戶端的hosts文件,將服務(wù)器的IP指向gitserver
第三步:執(zhí)行ssh-keygen -t rsa命令生成密鑰,如下圖:
注意,不要輸入文件名,一直回車就好,不要輸入任何內(nèi)容,全部使用默認(rèn)配置,成功后會自動在用戶的home目錄下創(chuàng)建.ssh文件夾,并將生成的公鑰和密鑰放到這個文件夾下。這里是要設(shè)置無密碼登錄服務(wù)器,因?yàn)榉?wù)器的密碼不可能讓所有人知道,提交代碼時使用密鑰進(jìn)行身份驗(yàn)證
第四步:將.ssh文件夾下生成的id_rsa.pub文件上傳到服務(wù)器git用戶home目錄(/home/git)下,在服務(wù)器上使用git用戶登錄,查看home目錄下是否有.ssh文件夾,如果沒有,手動創(chuàng)建,如果有進(jìn)入其中查看是否有名為authorized_keys文件,如果沒有,同樣手動創(chuàng)建即可。確認(rèn)authorized_keys文件存在后執(zhí)行cat ../id_rsa.pub>>authorized_keys命令,將客戶端用戶公鑰導(dǎo)入到驗(yàn)證文件。
第五步:在客戶端上新建存儲代碼的文件夾,進(jìn)入該文件夾,執(zhí)行git clone git@gitserver:/home/git/repo/sample.git命令,該命令的作用是使用git用戶身份從服務(wù)器拉取代碼,若可正常拉代碼且無需輸入密碼,說明搭建成功。之后就可以像公共倉庫一樣進(jìn)行代碼管理了。
五 善后
所有用戶的公鑰導(dǎo)入完畢后,最好禁用git用戶登錄權(quán)限(git用戶應(yīng)該只用于代碼管理,不用作其它事情,如果再要導(dǎo)入新的用戶公鑰可以用其它有管理員權(quán)限的帳戶),具體做法是修改/etc/passwd文件中git的設(shè)置,如下圖:
將命令執(zhí)行環(huán)境設(shè)成git的shell,/usr/bin/git-shell而非/bin/bash,這樣git用戶無法通過ssh工具如putty遠(yuǎn)程登錄系統(tǒng)了,但是可以通過ssh在git中進(jìn)行各種操作。
?
轉(zhuǎn)載于:https://www.cnblogs.com/daner1257/p/10761849.html
總結(jié)
以上是生活随笔為你收集整理的Ubuntu 18.04搭建Git服务器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 别人的Linux私房菜(17)进程管理与
- 下一篇: C和指针 (pointers on C)