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