首先需要裝好CentOS系統(tǒng),作為測試,你可以選擇裝在虛擬機上,這樣比較方便。這步默許你會,就不講了。
有了CentOS,那末如何搭建Git服務(wù)器呢?
1、首先需要安裝Git,可使用yum源在線安裝:
2、創(chuàng)建1個git用戶,用來運行g(shù)it服務(wù)
3、初始化git倉庫:這里我們選擇/data/git/learngit.git來作為我們的git倉庫
履行以上命令,會創(chuàng)建1個裸倉庫,裸倉庫沒有工作區(qū),由于服務(wù)器上的Git倉庫純潔是為了同享,所以不讓用戶直接登錄到服務(wù)器上去改工作區(qū),并且服務(wù)器上的Git倉庫通常都以.git結(jié)尾。然后,把owner改成git:
4、在這里,Git服務(wù)器就已搭得差不多了。下面我們在客戶端clone1下遠程倉庫
這里兩點需要注意:第1,當(dāng)你第1次使用Git的clone或push命令連接GitHub時,會得到1個正告:
這是由于Git使用SSH連接,而SSH連接在第1次驗證GitHub服務(wù)器的Key時,需要你確認(rèn)GitHub的Key的指紋信息是不是真的來自GitHub的服務(wù)器,輸入yes回車便可。
Git會輸出1個正告,告知你已把GitHub的Key添加到本機的1個信任列表里了:
這個正告只會出現(xiàn)1次,后面的操作就不會有任何正告了。
如果你實在擔(dān)心有人冒充GitHub服務(wù)器,輸入yes前可以對比GitHub的RSA Key的指紋信息是不是與SSH連接給出的1致。
第2,這里提示你輸入密碼才能clone,固然如果你知道密碼,可以鍵入密碼來進行clone,但是更加常見的方式,是利用SSH的公鑰來完成驗證。
5、創(chuàng)建SSH Key
首先在用戶主目錄下,看看有無.ssh目錄,如果有,再看看這個目錄下有無id_rsa和id_rsa.pub這兩個文件,如果已有了,可直接跳到下1步。如果沒有,打開Shell(Windows下打開Git
Bash),創(chuàng)建SSH Key:
你需要把郵件地址換成你自己的郵件地址,然后1路回車,使用默許值便可,由于這個Key也不是用于軍事目的,所以也無需設(shè)置密碼。
如果1切順利的話,可以在用戶主目錄里找到.ssh目錄,里面有id_rsa和id_rsa.pub兩個文件,這兩個就是SSH Key的秘鑰對,id_rsa是私鑰,不能泄漏出去,id_rsa.pub是公鑰,可以放心腸告知任何人。
6、Git服務(wù)器打開RSA認(rèn)證
然后就能夠去Git服務(wù)器上添加你的公鑰用來驗證你的信息了。在Git服務(wù)器上首先需要將/etc/ssh/sshd_config中將RSA認(rèn)證打開,即:
這里我們可以看到公鑰寄存在.ssh/authorized_keys文件中。所以我們在/home/git下創(chuàng)建.ssh目錄,然后創(chuàng)建authorized_keys文件,并將剛生成的公鑰導(dǎo)入進去。
然后再次clone的時候,或是以后push的時候,就不需要再輸入密碼了:
7、禁用git用戶的shell登陸
出于安全斟酌,第2步創(chuàng)建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd文件完成。找到類似下面的1行:
最后1個冒號后改成:
這樣,git用戶可以正常通過ssh使用git,但沒法登錄shell,由于我們?yōu)間it用戶指定的git-shell每次1登錄就自動退出。